У меня есть работающее приложение, и я работаю над его преобразованием в ARC в Xcode 4.2. Одно из предупреждений предварительной проверки включает захват self
строго в блоке, ведущем к циклу сохранения. Я сделал простой пример кода, чтобы проиллюстрировать проблему. Я считаю, что понимаю, что это означает, но не уверен, какой «правильный» или рекомендуемый способ реализовать такой сценарий.
пример кода:
// code sample
self.delegate = aDelegate;
self.dataProcessor = [[MyDataProcessor alloc] init];
self.dataProcessor.progress = ^(CGFloat percentComplete) {
[self.delegate myAPI:self isProcessingWithProgress:percentComplete];
};
self.dataProcessor.completion = ^{
[self.delegate myAPIDidFinish:self];
self.dataProcessor = nil;
};
// start the processor - processing happens asynchronously and the processor is released in the completion block
[self.dataProcessor startProcessing];
Вопрос: что я делаю «не так» и / или как это следует изменить, чтобы соответствовать соглашениям ARC?