arrayOfElements = [NSMutableArray arrayWithArray:[someObj getArray]];
arrayOfElements = [[NSMutableArray alloc] init];
arrayOfElements = [someObj getArray];
什麼區別初始化?
第一個arrayOfElements
似乎不會丟失它的對象,但它返回的計數是numberOfRowsInSection:(NSInteger)section
,但第二個是。當我以第二種方式執行時,我得到EXC_BAD_ACCESS。
編輯:
我現在可以假設現在,這是最好的方式,
arrayOfElements = [[NSMutableArray alloc] initWithArray:[someObj getArray]];
因爲我初始化與任何內容的陣列將autorelease
倒是和我在當前班有一個完全獨立的陣列,即viewDidLoad
,抱歉,ViewController
。
您是否在使用ARC? –
第二個版本是昂貴的。您創建了一個數組並將其轉儲並將新數組存儲到該數組中。 –
第二種情況arrayOfElements將是不可變的 – BergP