,我有以下的代碼查詢]。有關的NSString對象和內存管理
dateString = tempString;
[tempString release]; (@「datstring和tempstring的保留計數是%d和%d」,[dateString retainCount],[tempString retainCount]);
的NSLog(@ 「%@和%@」,dateString,tempString)
現在它打印tempString的保留計數爲1(也dateString保留計數= 1),即使我在該行釋放它之前。此外,打印兩個字符串的NSlog語句不顯示任何內容。我假設這是因爲,由於我的代碼,dateString指向tempString的位置和tempString已被釋放,NSlog將無法打印字符串。但是,爲什麼tempString = 1的保留計數?
如果我替換線
dateString = tempString;
與
dateString = [的NSString stringWithString:tempString];
然後NSlog語句打印dateString和tempString的值,並顯示它們的保留計數爲1.當我在前一行釋放tempString的值時,打印的tempString值如何?