我正在阅读苹果文档,其中我遇到了发布方法说明.其中说:
当引用计数达到0时,接收器将发送一个dealloc消息.
那么,我想知道发布方法的定义是什么?是否有检查保留计数的条件?如果保留计数为0,则对象被解除分配?
如果有人提供代码片段会很有帮助.
NSObject的实现在10.9中被移动到ObjC运行时.因此,NSObject的实现是开源的.
- (oneway void)release
__attribute__((aligned(16)))
{
// tagged pointer check is inside _objc_rootReleaseWasZero().
if (_objc_rootReleaseWasZero(self) == false) {
return;
}
[self dealloc];
}
Run Code Online (Sandbox Code Playgroud)
您可以_objc_rootReleaseWasZero()在上面的链接中阅读.这是一个深深的兔子洞.
| 归档时间: |
|
| 查看次数: |
162 次 |
| 最近记录: |