3
我的項目使用ARC。我用下面的代碼進行測試:__在Xcode 4.2中的ARC和autorelease池
NSString __weak *string; @autoreleasepool { string = [NSString stringWithString:@"AAA"]; } NSLog(@"string: %@", string);
我認爲它輸出:
string: (null)
但它實際上輸出:
string: AAA
我不明白。 __weak有什麼影響?
編輯:
而下面這段代碼:
NSString __weak *string; NSString __strong *str; @autoreleasepool { str = [NSString stringWithFormat:@"%@", @"AAA" ]; string = str; } NSLog(@"string: %@", string);
它還輸出:
string: AAA
你的解釋是完美的。但我在編輯中還有一個問題。請解釋我! –
好的,我已經更新了它。 –
非常感謝! –