التحقق مما إذا كان طلب عنوان URL موجودًا بالفعل في NSOperationQueue

لدي NSOperationQueue الذي يأخذ في طلب تنزيل مجموعة من العمليات. السؤال هو كيف أتحقق من وجود عنوان URL محدد بالفعل في NSOperationQueue ؟ لأنه إذا كان في قائمة الانتظار ، لا أريد أن أعرضها مرة أخرى.

0

1 إجابة

يمكنك تصنيف فئة فرعية NSOperation (إذا لم تكن قد قمت بذلك بالفعل) ، قم بإضافة خاصية URL إلى الفئة الفرعية الخاصة بك ، وتحقق من ما إذا كانت العملية مع عنوان URL الذي توشك على القيام به إضافة بالفعل في قائمة الانتظار:

if (![[queue.operations valueForKey:@"URL"] containsObject:myURL]) {
   //add operation...
} else {
   //operation with this URL is already in the queue...
}

إذا كان لديك عددًا كبيرًا من العمليات الجارية ، فقد ترغب في تتبع عناوين URL بشكل منفصل في NSMutableSet وهو أكثر كفاءة لاختبار العضوية. سيتعين عليك بعد ذلك إزالة عنوان URL من المجموعة عند اكتمال العملية.

0
وأضاف