我有一個關於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