引用计数与所有权计数相同吗?

时间:2017-02-07 20:55:59

标签: objective-c pointers reference automatic-ref-counting

考虑来自" 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在决定是否解除分配对象时会考虑什么?参考计数或所有权统计?

1 个答案:

答案 0 :(得分:1)

引用计数只是对象维护的数字。

所有权是一项政策,几乎是一种哲学。这是一种思考方式,试图确保您与对象的引用计数一致地进行干预。