【发布时间】:2012-06-26 16:21:16
【问题描述】:
我明白Objective C会保留localVariable,
id localVariable = instanceVariable;
dispatch_async(queue, ^{
// localVariable is used by value, localVariable is retained (not self)
doSomethingWithObject(localVariable);
});
但是这种保留只是在触发块时发生?如果是这样,虽然localVariable是一个UI对象,例如UIViewController,它可能由自动释放池控制,如果我只是创建一个由自动释放池管理的UIViewController而不保留或使用它,而一个事件循环完成,它将被释放,然后在块内,我不能再使用这个UIViewController 了?我必须在块外手动保留它?
【问题讨论】:
标签: ios user-interface block autorelease