Привет там,Получить конкретные NSOperation от NSOperationQueue
В моем приложении я создаю NSOperations
и добавить их в NSOperationQueue
. Иногда, я хочу, чтобы отменить некоторые конкретные операции из моей очереди работы, поэтому я определил свойство идентификатора для моего NSOperation подкласса:
@property (nonatomic, assign) NSString *identifier;
Но когда я цикл в операцию моей почтовой очереди, и я хочу, чтобы сравнить мою Операцию идентификатор для идентификатора операции я хочу принести, я получил EXC_BAD_ACCESS
указывая на если условие:
for (MyCustomNSOperationClass *operation in self.myOperationQueue.operations)
{
NSString *identifier = [self getRelatedIdentifier];
if ([operation.identifier isEqualToString:identifier])
{
[operation cancel];
}
}
идентификатор операция должна быть чем-то вроде 33a37fb0-8f77-0132-6c0b-5254005d9147
, но когда он выходит из строя, это что-то вроде 0x7be4af00
(когда я использую po operation.identifier
). Я говорю, когда он выходит из строя, потому что он не всегда сбой, и когда он не падает, тогда идентификатор правильный (я не уверен, что это супер ясно ...).
Поскольку я новичок в NSOperation, я хотел знать, есть ли другой способ достичь того, что я хотел бы сделать?
Заранее благодарен!
Я просто попробовал это, но у меня все еще есть одна и та же проблема. – Randy
Хорошо, наконец, это работает, когда я использую словарь. Спасибо, Исмаил! – Randy