之前用 :
1 NSMutableArray *array = [NSMutableArray alloc] init];//這並不是一個好方法
后來前輩對我說,用obj-c提供了靜態方法 +(id)arrayWithCapacity:size 來創建一個可變數組。看書后發現,這個size數組容量只是數組最終大小的一個參考。size的值是為 Cocoa能夠對代碼進行一些優化,這個值不會用來限制數組的大小。
所以我們可以這樣創建可變數組:
1 //創建一個可變的數組長度為10 2 NSMutableArray *array = [NSMutableArray arrayWithCapacity:10];
另外,在Google的時候發現還有一些有用的知識,
問題: NSMutableArray中arraywithcapacity 和 initwithcapacity的區別?在使用NSMutableArray時,初始化數組有這兩個方法,它們有什么本質區別嗎?是不是都是autorelease的嗎?
回答:arrayWithCapacity是類autorelease的,而[NSMutableArray alloc]initWithCapacity需要自己release
希望大家一起學習。