块中的实例变量和属性

Instance variable & properties in blocks

所有对象都在堆中,这是显而易见的,但是实例变量呢? 他们会改变保留计数吗?如果是,是否可以直接在块中使用和修改?

我看到一个教程,它说块可以修改堆中的对象。所以另一个问题出现了:我们可以在不使用的情况下修改堆对象吗? __block 在对象类型之前?

您不需要 __block 限定符来修改实例变量。你在考虑这个问题时走在了正确的轨道上。如果一个东西在堆上,它就是持久的。如果它是基于堆栈的,就像一个局部变量,如果块修改它,它确实需要用__block标记。