当我的网络服务关闭并与我的服务器通话时,我正在存储我的块。因此,我使用[myBlock copy]
来保留对我的块的引用。
获得数据并执行阻止后,是否可以拨打[myBlock release]
,还是使用Block_release(myBlock)
?我可以找到两者的参考。
答案 0 :(得分:9)
Block_release()
可用。
使用Objective-C时,您可以使用release
和copy
方法使代码看起来更像是围绕它的其余ObjC。
我想他们都做了完全相同的事情,并且objc方法只是调用Block_release()
的包装器。
答案 1 :(得分:5)
作为it's explained in reference复制/释放的总和必须等于零。因此,如果您使用的是Objective-C,则可以调用[block copy]
,然后调用[block release]
。
如果您使用的是C,则应使用Block_copy()
和Block_release()
。
正如Jasarien所写,他们可能也在做同样的事情,所以你可以互换使用它们。但是,保持约定一致非常重要 - 因此当您使用[block copy]
时,您宁愿使用[block release]
而不是Block_release()