這裏是我的代碼(ARC)
[email protected]"aaa";
__weak NSString *temp= self.string1;
NSLog(@"string1 %@",self.string1);
NSLog(@"temp %@",temp);
self.string1=nil;
NSLog(@"---after self.string1 = nil----");
NSLog(@"string1 %@",self.string1);
NSLog(@"temp %@",temp);
我想輸出應該如下:
string1 aaa
temp aaa
---after self.string1 = nil----
string1 (null)
temp (null)
但是,當我在xcode4.5.1運行它,這讓我感到困惑
string1 aaa
temp aaa
---after self.string1 = nil----
string1 (null)
temp aaa
誰能幫助我,並告訴我,爲什麼溫度= @「AAA」(這是__weak,並且它應該是零之後,字符串1 =無)
編輯: 嗨,大家好。我們會以錯誤的方向討論嗎?也許NSLog是在覈心基礎函數參考中定義的。 ARC對核心基礎函數的參數有一些規則就像NSLog一樣?我們將_weak對象作爲參數傳遞給NSLog,它會將_weak更改爲_autorelease?
那一個被關閉了,因爲網絡錯誤,我只是多次發送這個問題。它引起了一些問題,所以我再發送一次。所有人都知道關於這個問題的原因,只是給我一些建議 –
它被關閉,因爲它不是一個好問題。不過我看你想編輯它,而這一次_is_一個真正的問題,這樣以來你的舊是不可能得到重新開放,我會回答它!歡迎來到堆棧溢出,有時候這是一個艱難的人羣。 – jrturton