bri*_*ian 11 objective-c objective-c-blocks
如果我声明一个这样的块^{ DoSomething; }并将其放在一个实例变量中,Block_copy()如果我要保留它,我是否需要?
zou*_*oul 11
是的,你需要复制.不是因为它们是自动释放的,而是因为它们从堆栈开始.请注意,块的行为也类似于常规的Objective-C对象,因此您可以使用常规copy消息复制它们:
void storeBlockForLater: (dispatch_block_t) block
{
[someArray addObject:[[block copy] autorelease]];
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您有块属性:
@property(copy) dispatch_block_t block;
Run Code Online (Sandbox Code Playgroud)
保留在这里没有用.
| 归档时间: |
|
| 查看次数: |
3846 次 |
| 最近记录: |