当我的网络服务关闭并与我的服务器通信时,我正在存储我的块。因此我[myBlock copy]
用来保持对我的块的引用。
获得数据并执行块后,我应该调用[myBlock release]
还是使用Block_release(myBlock)
?我可以找到两者的参考。
当我的网络服务关闭并与我的服务器通信时,我正在存储我的块。因此我[myBlock copy]
用来保持对我的块的引用。
获得数据并执行块后,我应该调用[myBlock release]
还是使用Block_release(myBlock)
?我可以找到两者的参考。
Block_release()
当您仅在 C 中使用块而不是 Objective-C 时是否存在。
使用 Objective-C 时,您可以使用release
和copy
方法使您的代码看起来和感觉更像围绕它的 ObjC 的其余部分。
我想他们都做同样的事情,而且 objc 方法只是对调用的包装器Block_release()
。
正如参考资料中所解释的那样,复制/释放的总和必须为零。因此,如果您使用的是 Objective-C,您可以[block copy]
调用[block release]
.
如果你使用 C,你应该使用Block_copy()
and Block_release()
。
正如 Jasarien 所写,它们可能正在做同样的事情,因此您可以互换使用它们。然而,保持约定一致很重要——所以当你使用时,[block copy]
你宁愿使用而[block release]
不是Block_release()