考虑来自" Big Nerd Ranch的以下陈述:Objective-C Programming" - 第21章:对象实例变量和属性:
当一个对象有一个对象实例变量时,带有指针的对象被称为拥有被指向的对象。
现在考虑以下情况:
#import <Foundation/Foundation.h>
int main(int arc, const char * argv[])
{
@autoreleasepool {
NSString *message = @"Hello, world!";
}
return 0;
}
此处,消息对象有一(1)个引用。但是......它有没有所有者?
如果我们严格遵守引用的定义,则没有 对象,其指针 引用此NSString。这是否意味着消息有一(1)个引用但没有(0)所有者?
而且,如果是这种情况,ARC在决定是否解除分配对象时会考虑什么?参考计数或所有权统计?
答案 0 :(得分:1)
引用计数只是对象维护的数字。
所有权是一项政策,几乎是一种哲学。这是一种思考方式,试图确保您与对象的引用计数一致地进行干预。