1.通常創(chuàng)建可變數(shù)組的方式:
NSMutableArray *array = [NSMutableArray alloc] init];
然而這并不是最好的方法
2.通過arraywithcapacity創(chuàng)建可變數(shù)組數(shù)組
//創(chuàng)建一個可變的數(shù)組長度為10
NSMutableArray *array = [NSMutableArray arrayWithCapacity:10];
- 1.這個10代表內(nèi)存中開辟的內(nèi)存單元 如果數(shù)組元素個數(shù)大于10,則會新開辟10 * 2 個內(nèi)存 ,也就是重新開辟20的內(nèi)存, 將之前的10個元素內(nèi)容拷貝到新的內(nèi)存中,并將開始創(chuàng)建的10個內(nèi)存釋放
- 這個size數(shù)組容量只是數(shù)組最終大小的一個參考。size的值是為 Cocoa能夠對代碼進行一些優(yōu)化,這個值不會用來限制數(shù)組的大小。
3.NSMutableArray中arraywithcapacity 和 initwithcapacity的區(qū)別?
- 區(qū)別:
- arrayWithCapacity是類autorelease的.
- [NSMutableArray alloc]initWithCapacity需要自己release.