块如何保留本地对象?

时间:2015-02-05 01:20:32

标签: ios objective-c block objective-c-blocks

根据Apple文档

  

复制块时,会创建对对象的强引用   块内使用的变量。如果你在里面使用一个块   方法的实施:

     

如果通过引用访问实例变量,则引用强引用   使自己;如果按值访问实例变量,则为strong   引用变量。

我想了解一个块如何在内部设法完成此操作。它如何为这些对象分配内存,以及在块回调的情况下如何引用它们。

1 个答案:

答案 0 :(得分:0)

复制块时,会创建对块中使用的对象变量的强引用。如果在方法的实现中使用块:

如果您通过引用访问实例变量,则会对self进行强引用; 如果按值访问实例变量,则会对变量进行强引用 我想你可以阅读block and variablesblock introduce