Когда блок ссылается на объект Objective-C, например:
Worker *myWorker = [[Worker alloc] init];
[work doAsyncStuffWithBlock:^(NSMutableDictionary *info)
{
NSLog(@"processing info results");
[myWorker doSomething];
}];
[myWorker release];
автоматически сохраняет этот объект и, когда блок освобождается, автоматически освобождает этот объект.
Так что да, вы должны выпустить myWorker
в своем коде, и нет, вы не должны выпускать myWorker
внутри блока.