我了解目标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/

10-10 17:36