考虑从下面的语句“大书呆子牧场:Objective-C编程” - 第21章:对象的实例变量和属性:引用计数与所有权计数相同吗?
当一个对象都有一个对象实例变量,用指针的目的是说拥有指向的对象。
现在考虑以下情形:
#import <Foundation/Foundation.h>
int main(int arc, const char * argv[])
{
@autoreleasepool {
NSString *message = @"Hello, world!";
}
return 0;
}
这里,消息对象具有一个(1)参考。但是......它是否有任何拥有者?
如果我们严格坚持引用的定义,也没有对象的指针引用此的NSString。这是否意味着消息有一(1)个引用,但没有(0)个所有者?
而且,如果是这种情况,在决定是否取消分配对象时,ARC会考虑什么?引用计数或所有权计数?
您的代码示例没有用,因为没有涉及有意义的引用计数,所有权或取消分配。字符串文字具有静态生命周期。它们从过程开始到结束都存在。 –