खास जानकारी
यह डेटा मॉडल के ज़रिए, मनचाहे तरीके से लंबाई वाली मीडिया सूची को दिखाता है.
इस क्लास का इस्तेमाल, मीडिया सूची यूज़र इंटरफ़ेस (यूआई) चलाने के लिए, 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
-
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 |
सूची में दिए गए इंडेक्स में मौजूद आइटम के आईडी को दिखाता है.
- रिटर्न
- दिए गए इंडेक्स में मौजूद आइटम आईडी या अगर इंडेक्स अमान्य है तो kGCKMediaQueueअमान्यItemID.
- (NSInteger) indexOfItemWithID: | (GCKMediaQueueItemID) | itemID |
सूची में मौजूद किसी आइटम का इंडेक्स देखता है.
- Parameters
-
itemID The queue item ID.
- रिटर्न
- सूची में मौजूद आइटम का इंडेक्स (यानी, मुख्य जगह) या अगर सूची में ऐसा कोई आइटम नहीं है, तो NSNotFound.
- (void) reload |
सूची को फिर से लोड करता है.
कैश मेमोरी को मिटा दिया जाएगा और आइटम आईडी की सूची को आइटम पाने वाले से फिर से फ़ेच किया जाएगा.
- (void) clear |
सूची से सभी एलिमेंट हटाकर, कैश मेमोरी को मिटाएं.
प्रॉपर्टी की जानकारी
|
readnonatomicassign |
फ़िलहाल, सूची में मौजूद आइटम की संख्या.
|
readnonatomicassign |
कैश मेमोरी का साइज़.
|
readnonatomicassign |
उन सूची आइटम की संख्या जो फ़िलहाल कैश मेमोरी में मौजूद हैं.