我了解目标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
了?而且我必须在块外手动保留它? 最佳答案
不,创建该块时,localVariable
将被该块保留。
关于ios - objective-c 块会保留UI自动发布问题吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11211700/