考慮從下面的語句「大書呆子牧場: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會考慮什麼?引用計數或所有權計數?
您的代碼示例沒有用,因爲沒有涉及有意義的引用計數,所有權或取消分配。字符串文字具有靜態生命週期。它們從過程開始到結束都存在。 –