ওভারভিউ
নির্বিচারে দৈর্ঘ্যের মিডিয়া সারির একটি ডেটা মডেল উপস্থাপনা।
এই ক্লাসটি মিডিয়া সারি UI চালানোর জন্য একটি UITableViewDataSource বাস্তবায়নের ভিত্তি হিসাবে ব্যবহার করা যেতে পারে।
GCKMediaQueue GCKSessionManager ইভেন্টগুলির জন্য শোনে এবং একটি কাস্ট সেশন শুরু হলে স্বয়ংক্রিয়ভাবে GCKRemoteMediaClient এর সাথে সংযুক্ত হয়ে যায়। এটি GCKRemoteMediaClient থেকে সারি পরিবর্তনের বিজ্ঞপ্তি শোনে এবং সেই অনুযায়ী তার অভ্যন্তরীণ ডেটা মডেল আপডেট করে। একইভাবে, এটি চাহিদা অনুযায়ী সারির তথ্য আনতে GCKRemoteMediaClient ব্যবহার করে।
মডেলটি সম্পূর্ণ সারির জন্য কিউ আইটেম আইডিগুলির একটি তালিকা বজায় রাখে; যখনই এটি একটি কাস্ট সেশনে সংযুক্ত হয় তখন এটি স্বয়ংক্রিয়ভাবে এই তালিকাটি নিয়ে আসে৷ এটি GCKMediaQueueItems-এর একটি LRU ক্যাশে (কনফিগারযোগ্য আকারের) রক্ষণাবেক্ষণ করে, সারি আইটেম আইডি দ্বারা কী করা হয়।
পদ্ধতি itemAtIndex: (GCKMediaQueue) একটি প্রদত্ত সূচকে একটি সারি আইটেম আনতে ব্যবহৃত হয়। GCKMediaQueueItem বর্তমানে ক্যাশে না থাকলে, রিসিভার থেকে সেই আইটেমটি আনার জন্য একটি অ্যাসিঙ্ক্রোনাস অনুরোধ করা হয় এবং অনুরোধ করা আইটেমগুলি প্রাপ্ত হলে প্রতিনিধিকে অবশেষে অবহিত করা হয়।
যদি এই পদ্ধতিতে একাধিক কল খুব অল্প সময়ের মধ্যে করা হয়, অনুরোধ করা আইটেম আইডিগুলি অভ্যন্তরীণভাবে ব্যাচ করা হয় যাতে নেটওয়ার্ক অনুরোধের সংখ্যা কম হয়। যেহেতু রিসিভার থেকে একবারে কতগুলি সারি আইটেম আনা যাবে তার একটি ঊর্ধ্ব সীমা রয়েছে, GCKMediaQueue শেষ এন আইটেম আইডিগুলির একটি রোলিং উইন্ডো রাখে। তাই যদি অল্প সময়ের মধ্যে একটি খুব বড় সংখ্যক আইটেম অনুরোধ করা হয়, শুধুমাত্র শেষ N আইটেমগুলি আসলে আনা হবে। এই আচরণটি অ্যাপের UI-তে একটি খুব দীর্ঘ সারির দক্ষ পরিচালনার জন্য অনুমতি দেয় যা ব্যবহারকারীর দ্বারা দ্রুত এবং/অথবা ঘন ঘন স্ক্রোল করা যেতে পারে।
GCKMediaQueue সরাসরি সারিতে পরিবর্তন করার জন্য কোনো পদ্ধতি প্রদান করে না, কারণ এই ধরনের যেকোনো পরিবর্তনের সাথে রিসিভারের কাছে একটি অ্যাসিঙ্ক্রোনাস নেটওয়ার্ক অনুরোধ থাকে ( GCKRemoteMediaClient এর পদ্ধতির মাধ্যমে), যা সম্ভাব্য ত্রুটির সাথে ব্যর্থ হতে পারে। GCKMediaQueue অবশ্যই সারির একটি ধারাবাহিক উপস্থাপনা নিশ্চিত করতে হবে যেহেতু এটি রিসিভারে বিদ্যমান, তাই ডেটা মডেলে স্থানীয় পরিবর্তনগুলি করা যা এখনও রিসিভারে প্রতিশ্রুতিবদ্ধ নয় তা ভুল UI আচরণের কারণ হতে পারে।
প্রতিনিধি প্রোটোকলের জন্য GCKMediaQueueDelegate দেখুন।
- থেকে
- 4.3.4
উত্তরাধিকারসূত্রে এনএসওবজেক্ট।
উদাহরণ পদ্ধতির সারাংশ | |
(instancetype) | - init |
(instancetype) | - initWithRemoteMediaClient: |
ডিফল্ট ক্যাশে আকার এবং ডিফল্ট সর্বোচ্চ আনা গণনা সহ একটি নতুন GCKMediaQueue শুরু করে। আরও... | |
(instancetype) | - initWithRemoteMediaClient:cacheSize: |
প্রদত্ত ক্যাশে আকার এবং ডিফল্ট সর্বোচ্চ আনা গণনা সহ একটি নতুন GCKMediaQueue শুরু করে। আরও... | |
(instancetype) | - initWithRemoteMediaClient:cacheSize:maxFetchCount: |
প্রদত্ত ক্যাশে আকার এবং প্রদত্ত সর্বাধিক আনা গণনা সহ একটি নতুন GCKMediaQueue শুরু করে৷ আরও... | |
(void) | - addDelegate: |
এই বস্তুর প্রতিনিধিদের তালিকায় একজন প্রতিনিধি যোগ করে। আরও... | |
(void) | - removeDelegate: |
এই বস্তুর প্রতিনিধিদের তালিকা থেকে একজন প্রতিনিধিকে সরিয়ে দেয়। আরও... | |
(nullable GCKMediaQueueItem *) | - itemAtIndex: |
সারিতে প্রদত্ত সূচীতে মিডিয়া সারি আইটেমটি ফেরত দেয়, অথবা বর্তমানে ক্যাশে না থাকলে রিসিভার থেকে আইটেমটি আনার ব্যবস্থা করে। আরও... | |
(nullable GCKMediaQueueItem *) | - itemAtIndex:fetchIfNeeded: |
সারিতে প্রদত্ত সূচীতে মিডিয়া সারি আইটেমটি ফেরত দেয়, অথবা ঐচ্ছিকভাবে আইটেমটি রিসিভার থেকে আনার ব্যবস্থা করে যদি এটি বর্তমানে ক্যাশে না থাকে। আরও... | |
( GCKMediaQueueItemID ) | - itemIDAtIndex: |
সারিতে প্রদত্ত সূচকে আইটেমের আইটেম আইডি ফেরত দেয়। আরও... | |
(NSInteger) | - indexOfItemWithID: |
সারিতে থাকা একটি সারি আইটেমের সূচী দেখায়। আরও... | |
(void) | - reload |
সারি পুনরায় লোড করে। আরও... | |
(void) | - clear |
সারি সাফ করে, সমস্ত উপাদান অপসারণ করে এবং ক্যাশে ফ্লাশ করে। আরও... | |
সম্পত্তি সারাংশ | |
NSUInteger | itemCount |
বর্তমানে সারিতে থাকা আইটেমের সংখ্যা। আরও... | |
NSUInteger | cacheSize |
ক্যাশে আকার. আরও... | |
NSUInteger | cachedItemCount |
বর্তমানে ক্যাশে থাকা সারি আইটেমের সংখ্যা। আরও... | |
পদ্ধতির বিস্তারিত
- (instancetype) initWithRemoteMediaClient: | ( GCKRemoteMediaClient *) | remoteMediaClient |
ডিফল্ট ক্যাশে আকার এবং ডিফল্ট সর্বোচ্চ আনা গণনা সহ একটি নতুন GCKMediaQueue শুরু করে।
- (instancetype) initWithRemoteMediaClient: | ( GCKRemoteMediaClient *) | remoteMediaClient | |
cacheSize: | (NSUInteger) | cacheSize | |
প্রদত্ত ক্যাশে আকার এবং ডিফল্ট সর্বোচ্চ আনা গণনা সহ একটি নতুন GCKMediaQueue শুরু করে।
- Parameters
-
cacheSize The cache size. Must be nonzero.
- (instancetype) initWithRemoteMediaClient: | ( GCKRemoteMediaClient *) | remoteMediaClient | |
cacheSize: | (NSUInteger) | cacheSize | |
maxFetchCount: | (NSUInteger) | maxFetchCount | |
প্রদত্ত ক্যাশে আকার এবং প্রদত্ত সর্বাধিক আনা গণনা সহ একটি নতুন GCKMediaQueue শুরু করে৷
- Parameters
-
cacheSize The cache size. Must be nonzero. maxFetchCount The maxiumum fetch count with minimum being 1.
- (void) addDelegate: | (id< GCKMediaQueueDelegate >) | delegate |
এই বস্তুর প্রতিনিধিদের তালিকায় একজন প্রতিনিধি যোগ করে।
- Parameters
-
delegate The delegate to add. The delegate will be retained until removeDelegate: is called.
- (void) removeDelegate: | (id< GCKMediaQueueDelegate >) | delegate |
এই বস্তুর প্রতিনিধিদের তালিকা থেকে একজন প্রতিনিধিকে সরিয়ে দেয়।
- Parameters
-
delegate The delegate to remove.
- (nullable GCKMediaQueueItem *) itemAtIndex: | (NSUInteger) | index |
সারিতে প্রদত্ত সূচীতে মিডিয়া সারি আইটেমটি ফেরত দেয়, অথবা বর্তমানে ক্যাশে না থাকলে রিসিভার থেকে আইটেমটি আনার ব্যবস্থা করে।
- Parameters
-
index The index of the item to fetch.
- রিটার্নস
- প্রদত্ত সূচীতে আইটেমটি, বা
nil
যদি আইটেমটি বর্তমানে ক্যাশে না থাকে তবে অ্যাসিঙ্ক্রোনাসভাবে আনা হবে৷
- (nullable GCKMediaQueueItem *) itemAtIndex: | (NSUInteger) | index | |
fetchIfNeeded: | (BOOL) | fetch | |
সারিতে প্রদত্ত সূচীতে মিডিয়া সারি আইটেমটি ফেরত দেয়, অথবা ঐচ্ছিকভাবে আইটেমটি রিসিভার থেকে আনার ব্যবস্থা করে যদি এটি বর্তমানে ক্যাশে না থাকে।
- Parameters
-
index The index of the item to fetch. fetch Whether the item should be fetched from the receiver if it is not currently in the cache.
- রিটার্নস
- প্রদত্ত সূচীতে আইটেমটি, অথবা আইটেমটি বর্তমানে ক্যাশে না থাকলে
nil
।
- ( GCKMediaQueueItemID ) itemIDAtIndex: | (NSUInteger) | index |
সারিতে প্রদত্ত সূচকে আইটেমের আইটেম আইডি ফেরত দেয়।
- রিটার্নস
- প্রদত্ত সূচকে আইটেম আইডি, অথবা সূচকটি অবৈধ হলে kGCKMediaQueueInvalidItemID।
- (NSInteger) indexOfItemWithID: | ( GCKMediaQueueItemID ) | itemID |
সারিতে থাকা একটি সারি আইটেমের সূচী দেখায়।
- Parameters
-
itemID The queue item ID.
- রিটার্নস
- সারির মধ্যে থাকা আইটেমের সূচক (অর্থাৎ মূল অবস্থান), অথবা NSNotFound যদি সারিতে এমন কোনো আইটেম না থাকে।
- (void) reload |
সারি পুনরায় লোড করে।
ক্যাশে ফ্লাশ করা হবে এবং আইটেম আইডি তালিকা রিসিভার থেকে পুনরায় আনা হবে।
- (void) clear |
সারি সাফ করে, সমস্ত উপাদান অপসারণ করে এবং ক্যাশে ফ্লাশ করে।
সম্পত্তি বিস্তারিত
|
read nonatomic assign |
বর্তমানে সারিতে থাকা আইটেমের সংখ্যা।
|
read nonatomic assign |
ক্যাশে আকার.
|
read nonatomic assign |
বর্তমানে ক্যাশে থাকা সারি আইটেমের সংখ্যা।