因此,標準規則是如果一個對象是使用alloc創建的,複製或保留,它需要一個後續版本。使用便捷方法創建的對象是自動發佈的。 但是用「=」定義並用在方法範圍中的臨時變量呢?例如(iOS)臨時變量的內存管理
NSError *error = nil;
NSString *tempString = @"foo";
int number = otherInt * 32;
NSUInteger row = [indexPath row];
NSArray *sameArrayDifferentPointer = otherArray;
甚至
NSArray *sameArrayDifferentPointer = (*NSMutableArray) otherMutableArray;
我知道最後一個是「壞」,但編譯罰款,不拋出異常。
第二種情況如何更好?將一個常量字符串分配給一個變量沒有任何問題。 – Caleb 2012-03-10 03:51:41
當然不是。而且你在這兩個版本中都給一個變量分配一個常量字符串。更詳細的更清楚發生了什麼事情,這對澄清有幫助。但我認爲第二個'通常更好'的說法可能太強大了 - 將會被編輯。 – 2012-03-10 03:54:30
具有完美的感覺。對於Objective-C甚至C語言來說都很新穎,指針的概念仍然讓我興奮不已。謝謝。 – TijuanaKez 2012-03-10 03:57:58