نظرة عامة
تمثيل في نموذج بيانات لقائمة انتظار وسائط ذات طول عشوائي
يمكن استخدام هذه الفئة كأساس لتنفيذ UITableViewDataSource لإدارة واجهة مستخدم قائمة انتظار الوسائط.
ينتظر GCKMediaQueue أحداث GCKSessionManager ويتم إرفاق نفسه تلقائيًا بـ GCKRemoteMediaClient عند بدء جلسة البث. يرصد النظام إشعارات التغيير في قائمة الانتظار من "GCKRemoteMediaClient" ويعدّل نموذج البيانات الداخلية وفقًا لذلك. وبالمثل، يستخدم الأداة GCKRemoteMediaClient لجلب معلومات قائمة الانتظار عند الطلب.
يحتفظ النموذج بقائمة من معرّفات عناصر قائمة الانتظار لكامل قائمة الانتظار، ويجلب هذه القائمة تلقائيًا كلما تم إرفاقها بجلسة بث. ويحتفظ أيضًا بذاكرة التخزين المؤقت للتطبيقات الأقل استخدامًا (LRU) (بحجم قابل للتهيئة) لـ GCKMediaQueueItems، مرتبطة بمعرّف عنصر قائمة الانتظار.
يتم استخدام الطريقة 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 |
لعرض معرّف العنصر في الفهرس المحدّد في قائمة الانتظار.
- المرتجعات
- رقم تعريف العنصر في الفهرس المحدد أو kGCKMediaQueueAliasItemID إذا كان الفهرس غير صالح.
- (NSInteger) indexOfItemWithID: | (GCKMediaQueueItemID) | itemID |
البحث عن فهرس عنصر قائمة الانتظار في قائمة الانتظار.
- Parameters
-
itemID The queue item ID.
- المرتجعات
- الفهرس (أي الموضع الأصلي) للعنصر في قائمة الانتظار أو NSNotFound إذا لم يكن هناك العنصر المطلوب في قائمة الانتظار.
- (void) reload |
لإعادة تحميل قائمة المحتوى التالي.
سيتم محو ذاكرة التخزين المؤقت وستتم إعادة جلب قائمة معرّفات العناصر من المستلِم.
- (void) clear |
لمحو قائمة الانتظار، وإزالة جميع العناصر، ومسح ذاكرة التخزين المؤقت.
تفاصيل الموقع
|
readnonatomicassign |
عدد العناصر في قائمة الانتظار حاليًا.
|
readnonatomicassign |
حجم ذاكرة التخزين المؤقت
|
readnonatomicassign |
عدد عناصر "قائمة المحتوى التالي" الموجودة حاليًا في ذاكرة التخزين المؤقت.