我有一个关于Grand Central Dispatch,块和内存管理的问题。考虑以下代码:以下GCD /块方案的推荐模式是什么?
Worker *myWorker = [[Worker alloc] init];
[work doAsyncStuffWithBlock:^(NSMutableDictionary *info)
{
NSLog(@"processing info results");
}];
[myWorker release];
在这里,我想doAsyncStuffWithBlock异步发生,然后执行该块时,它有一定的效果。同时这个主代码将继续。在这里安全地释放myWorker是否安全?我在内部实现的dispatch_queue会保留一个引用来最终执行该块吗?或者,我应该在块内释放它吗?这似乎很奇怪。感谢您的任何建议。
您发布的代码除了初始化和释放之外不会对'myWorker'执行任何操作:它将立即释放。此外,您的代码不会显示有关提到的调度队列的任何信息。 – 2011-05-09 19:57:41