为什么将复制用于块属性?

cfi*_*her 5 cocoa objective-c objective-c-blocks

为什么bloc属性应声明为copy?

typedef void(^Thunk)(void);
@property (nonatomic, copy) Thunk block;
Run Code Online (Sandbox Code Playgroud)

为什么需要复制块对象?

Nik*_*uhe 3

因为块文字是在堆栈上创建的,并且会在函数退出时被销毁。当保留一个块时,有必要复制它。