Objective c 块说明符是如何工作的?

Objective c 块说明符是如何工作的?,objective-c,cocoa-touch,objective-c-blocks,Objective C,Cocoa Touch,Objective C Blocks,我可以使用\u块说明符在堆栈上指定一个变量,然后我可以在块中修改它。我只是想知道,在幕后发生了什么?(如果该块在将来某个时候执行,那么堆栈可能会被清除)复制引用\u block变量的块时,该变量会移动到堆中。这意味着所有引用它的代码都必须通过一种间接方式(基本上是指针)来实现,这样,当它从堆栈移动到堆时,这些引用就可以随之切换 这是有案可查的

我可以使用
\u块
说明符在堆栈上指定一个变量,然后我可以在块中修改它。我只是想知道,在幕后发生了什么?(如果该块在将来某个时候执行,那么堆栈可能会被清除)

复制引用
\u block
变量的块时,该变量会移动到堆中。这意味着所有引用它的代码都必须通过一种间接方式(基本上是指针)来实现,这样,当它从堆栈移动到堆时,这些引用就可以随之切换

这是有案可查的