記得之前一直用這個方法對可變數組進行初始化
NSMutableArray *array = [NSMutableArray alloc] init];
//大神說:這并不是一個好方法
有人跟我說用obj-c提供了靜态方法 +(id)arrayWithCapacity:size 來建立一個可變數組。查Dash後發現,這個size數組容量隻是數組最終大小的一個參考。size的值是為 Cocoa能夠對代碼進行一些優化,這個值不會用來限制數組的大小。
是以我們可以這樣建立可變數組:
//建立一個可變的數組長度為8 ---不用擔心會有限制
NSMutableArray *array = [NSMutableArray arrayWithCapacity:];
你覺得這樣就行了麼??
哈哈,再補充一點東西 ··
在Google的時候發現還有一些有用的知識,
問題:
- NSMutableArray中arraywithcapacity 和 initwithcapacity的差別?在使用NSMutableArray時,初始化數組有這兩個方法,它們有什麼本質差別嗎?是不是都是autorelease的嗎?
- 回答
- arrayWithCapacity是類autorelease的,而[NSMutableArray alloc]initWithCapacity需要自己release