GCKMediaQueue क्लास

GCKMediaQueue क्लास का संदर्भ

खास जानकारी

यह डेटा मॉडल के ज़रिए, मनचाहे तरीके से लंबाई वाली मीडिया सूची को दिखाता है.

इस क्लास का इस्तेमाल, मीडिया सूची यूज़र इंटरफ़ेस (यूआई) चलाने के लिए, UITableViewDataSource को लागू करने के आधार के तौर पर किया जा सकता है.

GCKMediaQueue, GCKSessionManager इवेंट सुनता है और कास्ट सेशन शुरू होने पर, खुद को GCKRemoteMediaClient से अपने-आप अटैच कर देता है. यह सूची में होने वाले बदलाव की सूचनाओं को GCKRemoteMediaClient से सुनता है और उसके हिसाब से अपने इंटरनल डेटा मॉडल को अपडेट करता है. इसी तरह, यह मांग पर सूची की जानकारी फ़ेच करने के लिए, GCKRemoteMediaClient का इस्तेमाल करता है.

मॉडल, पूरी सूची के लिए सूची में मौजूद आइटम आईडी की सूची बनाए रखता है. जब भी यह सूची किसी कास्ट सेशन में जोड़ी जाती है, तब यह अपने-आप फ़ेच हो जाती है. यह GCKMediaQueue आइटम का एक LRU कैश (कॉन्फ़िगर करने लायक साइज़ का) बनाए रखता है. इसे सूची के आइटम आईडी की मदद से कुंजी के तौर पर सेव किया जाता है.

itemAtIndex: (GCKMediaQueue) तरीके का इस्तेमाल, किसी दिए गए इंडेक्स में सूची में मौजूद आइटम को फ़ेच करने के लिए किया जाता है. अगर GCKMediaQueueItem फ़िलहाल कैश में नहीं है, तो आइटम पाने वाले से उस आइटम को फ़ेच करने के लिए एसिंक्रोनस अनुरोध किया जाता है. अनुरोध किए गए आइटम मिलने पर, प्रतिनिधि को इसकी सूचना दे दी जाती है.

अगर इस तरीके से किए जाने वाले कई कॉल बहुत कम समय में किए जाते हैं, तो अनुरोध किए गए आइटम आईडी को अंदरूनी तौर पर बैच में भेजा जाता है. ऐसा, किए जाने वाले नेटवर्क अनुरोधों की संख्या को कम करने के लिए किया जाता है. रिसीवर से एक बार में कितने सूची आइटम फ़ेच किए जा सकते हैं, इसकी एक बड़ी सीमा तय होती है. इसलिए, GCKMediaQueue आखिरी N आइटम आईडी की रोलिंग विंडो को फ़ेच करता है. इसलिए, अगर बहुत कम समय में बहुत ज़्यादा आइटम का अनुरोध किया जाता है, तो असल में सिर्फ़ आखिरी N आइटम ही फ़ेच किए जाएंगे. इससे ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) में लंबी सूची को बेहतर तरीके से मैनेज किया जा सकता है. इसे उपयोगकर्ता तेज़ी से और/या बार-बार स्क्रोल कर सकता है.

GCKMediaQueue, सूची में सीधे तौर पर बदलाव करने के लिए कोई तरीका नहीं देता है. ऐसा इसलिए है, क्योंकि ऐसे किसी भी बदलाव में, पाने वाले से एसिंक्रोनस नेटवर्क का अनुरोध (GCKRemoteMediaClient पर तरीकों से) शामिल होता है, जो गड़बड़ी के साथ हो सकता है. GCKMediaQueue को यह पक्का करना चाहिए कि सूची में सूची उसी तरह से मौजूद हो जैसी वह रिसीवर में मौजूद है. इसलिए, डेटा मॉडल में ऐसे स्थानीय बदलाव करने से हो सकता है जो अब तक रिसीवर पर लागू नहीं किए गए हैं. ऐसा करने से यूज़र इंटरफ़ेस (यूआई) का व्यवहार गलत हो सकता है.

जिस व्यक्ति को ईमेल खाते का ऐक्सेस दिया गया है उससे जुड़े प्रोटोकॉल के बारे में जानने के लिए, GCKMediaQueueDelegate पर जाएं.

से
4.3.4

NSObject को इनहेरिट करता है.

इंस्टेंस के तरीके के बारे में खास जानकारी

(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
cacheSizeThe cache size. Must be nonzero.
- (instancetype) initWithRemoteMediaClient: (GCKRemoteMediaClient *)  remoteMediaClient
cacheSize: (NSUInteger)  cacheSize
maxFetchCount: (NSUInteger)  maxFetchCount 

दिए गए कैश साइज़ और ज़्यादा से ज़्यादा फ़ेच संख्या के साथ नए GCKMediaQueue को शुरू करता है.

Parameters
cacheSizeThe cache size. Must be nonzero.
maxFetchCountThe maxiumum fetch count with minimum being 1.
- (void) addDelegate: (id< GCKMediaQueueDelegate >)  delegate

इस ऑब्जेक्ट की 'डेलिगेट' सूची में किसी व्यक्ति को जोड़ता है.

Parameters
delegateThe delegate to add. The delegate will be retained until removeDelegate: is called.
- (void) removeDelegate: (id< GCKMediaQueueDelegate >)  delegate

इस ऑब्जेक्ट की 'डेलिगेट' सूची से उन लोगों को हटाता है जिन्हें संपर्कों का ऐक्सेस दिया गया है.

Parameters
delegateThe delegate to remove.
- (nullable GCKMediaQueueItem *) itemAtIndex: (NSUInteger)  index

सूची में मौजूद इंडेक्स में मीडिया सूची में मौजूद आइटम दिखाता है. इसके अलावा, अगर यह आइटम फ़िलहाल कैश मेमोरी में नहीं है, तो इसे रिसीवर से फ़ेच किए जाने के लिए व्यवस्थित किया जाता है.

Parameters
indexThe index of the item to fetch.
रिटर्न
दिए गए इंडेक्स में मौजूद आइटम या nil अगर आइटम फ़िलहाल कैश मेमोरी में नहीं है, लेकिन उसे एसिंक्रोनस तरीके से फ़ेच किया जाएगा.
- (nullable GCKMediaQueueItem *) itemAtIndex: (NSUInteger)  index
fetchIfNeeded: (BOOL)  fetch 

सूची में मौजूद इंडेक्स में मीडिया की सूची में मौजूद आइटम दिखाता है. इसके अलावा, अगर यह आइटम फ़िलहाल कैश मेमोरी में नहीं है, तो इसे रिसीवर से फ़ेच किए जाने के लिए वैकल्पिक तौर पर व्यवस्थित किया जाता है.

Parameters
indexThe index of the item to fetch.
fetchWhether the item should be fetched from the receiver if it is not currently in the cache.
रिटर्न
दिए गए इंडेक्स में मौजूद आइटम या अगर आइटम फ़िलहाल कैश मेमोरी में नहीं है, तो nil.
- (GCKMediaQueueItemID) itemIDAtIndex: (NSUInteger)  index

सूची में दिए गए इंडेक्स में मौजूद आइटम के आईडी को दिखाता है.

रिटर्न
दिए गए इंडेक्स में मौजूद आइटम आईडी या अगर इंडेक्स अमान्य है तो kGCKMediaQueueअमान्यItemID.
- (NSInteger) indexOfItemWithID: (GCKMediaQueueItemID itemID

सूची में मौजूद किसी आइटम का इंडेक्स देखता है.

Parameters
itemIDThe queue item ID.
रिटर्न
सूची में मौजूद आइटम का इंडेक्स (यानी, मुख्य जगह) या अगर सूची में ऐसा कोई आइटम नहीं है, तो NSNotFound.
- (void) reload

सूची को फिर से लोड करता है.

कैश मेमोरी को मिटा दिया जाएगा और आइटम आईडी की सूची को आइटम पाने वाले से फिर से फ़ेच किया जाएगा.

- (void) clear

सूची से सभी एलिमेंट हटाकर, कैश मेमोरी को मिटाएं.

प्रॉपर्टी की जानकारी

- (NSUInteger) itemCount
readnonatomicassign

फ़िलहाल, सूची में मौजूद आइटम की संख्या.

- (NSUInteger) cacheSize
readnonatomicassign

कैश मेमोरी का साइज़.

- (NSUInteger) cachedItemCount
readnonatomicassign

उन सूची आइटम की संख्या जो फ़िलहाल कैश मेमोरी में मौजूद हैं.