2013-05-13 3 views
0

Итак, я использую метод NSOperationQueue , и я хочу поместить мелкозернистую проверку свойств isCancelled в точках кода операции. Как получить экземпляр операции, которая будет выполняться в этом блоке?Ввод isCancelled свойства в NSOperationQueue

Например, это мой фрагмент кода:

[operationQueueInstance addOperationWithBlock:^{ 
    if (!???.isCancelled){ 
     NSlog(@"Instruction 1"); 
    } 
    if (!???.isCancelled){ 
     NSlog(@"Instruction 2"); 
    } 

    NSlog(@"Instruction 3"); 
}]; 

Как получить экземпляр операции этот блок будет работать в так что я могу оценить isCancelled свойство для инструкции?

ТИА

ответ

1

Из документов Apple:

Вы не должны пытаться получить ссылку на вновь созданный объект операции или божественном его тип информации.

Вы можете создать экземпляр NSBlockOperation и назначить его переменной для сохранения явной ссылки.

addOperationWithBlock, похоже, является ярлыком для всякий раз, когда вам не нужна ссылка на рабочий объект.

Обязательно отметьте работу своего блока с помощью классификатора хранения __block, чтобы избежать удержания циклов.

+1

Другими словами, вы можете создать подкласс NSOperation для выполнения работы. – uchuugaka

Смежные вопросы