GCKMediaQueue Sınıfı

GCKMediaQueue Sınıf Referansı

Genel bakış

Rastgele uzunluktaki bir medya sırasının veri modeli gösterimi.

Bu sınıf, medya sırası kullanıcı arayüzünü yönlendirmeye yönelik bir UITableViewDataSource uygulanmasında temel olarak kullanılabilir.

GCKMediaQueue, GCKSessionManager etkinliklerini dinler ve bir Yayınlama oturumu başlatıldığında kendini otomatik olarak GCKRemoteMediaClient öğesine ekler. GCKRemoteMediaClient API'sinden gelen sıra değişikliği bildirimlerini dinler ve dahili veri modelini buna göre günceller. Benzer şekilde, istek üzerine sıra bilgilerini getirmek için GCKRemoteMediaClient özelliğini kullanır.

Model, sıranın tamamı için sıra öğesi kimliklerinin bir listesini tutar; bir yayınlama oturumuna eklendiğinde bu listeyi otomatik olarak getirir. Ayrıca, sıra öğesi kimliği ile belirlenen GCKMediaQueueItems'in LRU önbelleğini (yapılandırılabilir boyuta sahip) tutar.

itemAtIndex: (GCKMediaQueue) yöntemi, belirli bir dizindeki bir sıra öğesini getirmek için kullanılır. GCKMediaQueueItem şu anda önbellekte değilse öğeyi alıcıdan getirmek için eşzamansız bir istek yapılır ve istenen öğeler alındığında yetki verilen kişiye en sonunda bildirim gönderilir.

Bu yönteme çok kısa bir süre içinde birden fazla çağrı yapılırsa istenen öğe kimlikleri, yapılan ağ isteklerinin sayısını azaltmak için dahili olarak gruplandırılır. Alıcıdan aynı anda kaç sıra öğesinin getirilebileceğiyle ilgili bir üst sınır olduğu için GCKMediaQueue, alınacak son N öğe kimliğinin kayan aralığını korur. Bu nedenle, kısa bir süre içinde çok sayıda öğe istenirse yalnızca son N öğe getirilir. Bu davranış, uygulamanın kullanıcı arayüzünde bir kullanıcı tarafından hızlı ve/veya sık sık kaydırılabilen çok uzun bir sıranın verimli bir şekilde yönetilmesine olanak tanır.

GCKMediaQueue, sıranın doğrudan değiştirilmesi için herhangi bir yöntem sunmaz. Çünkü bu tür değişiklikler alıcıya yönelik eşzamansız bir ağ isteği içerir (GCKRemoteMediaClient üzerindeki yöntemler aracılığıyla) ve bu durum, bir hata ile başarısız olabilir. GCKMediaQueue, sıranın alıcıda mevcut olduğu şekilde tutarlı bir şekilde gösterilmesini sağlamalıdır. Bu nedenle, henüz alıcıda işlenmemiş veri modelinde yerel değişiklikler yapılması hatalı kullanıcı arayüzü davranışına neden olabilir.

Delege protokolü için GCKMediaQueueDelegate sayfasına bakın.

yılından beri
4.3.4

NSObject öğesini devralır.

Örnek Yöntemi Özeti

(instancetype) - init
 
(instancetype) - initWithRemoteMediaClient:
 Varsayılan önbellek boyutu ve varsayılan maksimum getirme sayısıyla yeni bir GCKMediaQueue başlatır. Diğer...
 
(instancetype) - initWithRemoteMediaClient:cacheSize:
 Belirtilen önbellek boyutu ve varsayılan maksimum getirme sayısı ile yeni bir GCKMediaQueue başlatır. Diğer...
 
(instancetype) - initWithRemoteMediaClient:cacheSize:maxFetchCount:
 Belirtilen önbellek boyutu ve belirtilen maksimum getirme sayısı ile yeni bir GCKMediaQueue başlatır. Diğer...
 
(void) - addDelegate:
 Bu nesnenin yetki verilmiş kullanıcılar listesine yetki verilmiş kullanıcı ekler. Diğer...
 
(void) - removeDelegate:
 Yetki verilmiş bir kullanıcıyı bu nesnenin yetki verilmiş kullanıcılar listesinden kaldırır. Diğer...
 
(nullable GCKMediaQueueItem *) - itemAtIndex:
 Sırada belirtilen dizindeki medya sırası öğesini döndürür veya öğe o anda önbellekte değilse alıcıdan getirilmesi için düzenlenir. Diğer...
 
(nullable GCKMediaQueueItem *) - itemAtIndex:fetchIfNeeded:
 Sırada belirtilen dizindeki medya sırası öğesini döndürür veya isteğe bağlı olarak öğe o anda önbellekte değilse alıcıdan getirilecek şekilde ayarlanır. Diğer...
 
(GCKMediaQueueItemID- itemIDAtIndex:
 Sırada belirtilen dizindeki öğenin öğe kimliğini döndürür. Diğer...
 
(NSInteger) - indexOfItemWithID:
 Sıradaki bir sıra öğesinin dizinini arar. Diğer...
 
(void) - reload
 Sırayı yeniden yükler. Diğer...
 
(void) - clear
 Sırayı temizleyerek tüm öğeleri kaldırır ve önbelleği temizler. Diğer...
 

Mülk Özeti

NSUInteger itemCount
 Şu anda sırada bulunan öğelerin sayısı. Diğer...
 
NSUInteger cacheSize
 Önbellek boyutu. Diğer...
 
NSUInteger cachedItemCount
 Şu anda önbellekte olan sıra öğelerinin sayısı. Diğer...
 

Yöntem Ayrıntısı

- (instancetype) initWithRemoteMediaClient: (GCKRemoteMediaClient *)  remoteMediaClient

Varsayılan önbellek boyutu ve varsayılan maksimum getirme sayısıyla yeni bir GCKMediaQueue başlatır.

- (instancetype) initWithRemoteMediaClient: (GCKRemoteMediaClient *)  remoteMediaClient
cacheSize: (NSUInteger)  cacheSize 

Belirtilen önbellek boyutu ve varsayılan maksimum getirme sayısı ile yeni bir GCKMediaQueue başlatır.

Parameters
cacheSizeThe cache size. Must be nonzero.
- (instancetype) initWithRemoteMediaClient: (GCKRemoteMediaClient *)  remoteMediaClient
cacheSize: (NSUInteger)  cacheSize
maxFetchCount: (NSUInteger)  maxFetchCount 

Belirtilen önbellek boyutu ve belirtilen maksimum getirme sayısı ile yeni bir GCKMediaQueue başlatır.

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

Bu nesnenin yetki verilmiş kullanıcılar listesine yetki verilmiş kullanıcı ekler.

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

Yetki verilmiş bir kullanıcıyı bu nesnenin yetki verilmiş kullanıcılar listesinden kaldırır.

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

Sırada belirtilen dizindeki medya sırası öğesini döndürür veya öğe o anda önbellekte değilse alıcıdan getirilmesi için düzenlenir.

Parameters
indexThe index of the item to fetch.
İlerlemeler
Belirtilen dizindeki öğe veya öğe o anda önbellekte değilse ancak eşzamansız olarak alınacaksa nil.
- (nullable GCKMediaQueueItem *) itemAtIndex: (NSUInteger)  index
fetchIfNeeded: (BOOL)  fetch 

Sırada belirtilen dizindeki medya sırası öğesini döndürür veya isteğe bağlı olarak öğe o anda önbellekte değilse alıcıdan getirilecek şekilde ayarlanır.

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.
İlerlemeler
Belirtilen dizindeki öğe veya öğe o anda önbellekte değilse nil.
- (GCKMediaQueueItemID) itemIDAtIndex: (NSUInteger)  index

Sırada belirtilen dizindeki öğenin öğe kimliğini döndürür.

İlerlemeler
Belirtilen dizindeki öğe kimliği veya dizin geçersizse kGCKMediaQueue invalidItemID.
- (NSInteger) indexOfItemWithID: (GCKMediaQueueItemID itemID

Sıradaki bir sıra öğesinin dizinini arar.

Parameters
itemIDThe queue item ID.
İlerlemeler
Öğenin sıradaki dizini (kardinal konumu) veya sırada böyle bir öğe yoksa NSNotFound.
- (void) reload

Sırayı yeniden yükler.

Önbellek temizlenecek ve öğe kimliği listesi alıcıdan yeniden alınacak.

- (void) clear

Sırayı temizleyerek tüm öğeleri kaldırır ve önbelleği temizler.

Mülk Ayrıntısı

- (NSUInteger) itemCount
readnonatomicassign

Şu anda sırada bulunan öğelerin sayısı.

- (NSUInteger) cacheSize
readnonatomicassign

Önbellek boyutu.

- (NSUInteger) cachedItemCount
readnonatomicassign

Şu anda önbellekte olan sıra öğelerinin sayısı.