2014-06-09 68 views
0

我有NSMutableArray名爲dishArray。我在這個數組中共有15個對象。刪除從索引3開始的所有NSMutableArray對象

我只想要數組中的前三個對象並刪除其餘數組。

是否有任何方式(其他循環)刪除?

我知道使用循環我可以實現它,但我正在尋找替代方法。可能會像deleteArray From: To:

回答

2
NSMutableArray *array = ...; 
if ([array count] > 3) { 
    [array removeObjectsInRange:NSMakeRange(3, [array count] - 3)]; 
} 
+0

您是fast..very快.. – Apurv

+0

+1:**爲條件,否則應用程序會崩潰** * **謝謝,10分鐘後會接受... *** –

1

使用函數removeObjectsInRange。

if ([yourArray count] > 3) 
[yourArray removeObjectsInRange:NSMakeRange(3, [yourArray count] - 3)]; 
+0

如果數組只包含1個對象? – trojanfoe

+0

讓我編輯代碼.. – Apurv

1

嘗試用下面的代碼:

if ([wholeArray count] > 3)  
    NSArray* finalArray = [wholeArray removeObjectsInRange(2, wholeArray.count-3)]; 
0
NSRange r; 
    r.location = 0; // start position 
    r.length = 3; // end position 

    [arr removeObjectsInRange:r]; 
-1
[testArray removeObjectsInRange:NSMakeRange(3, testArray.count-1)]; 
+0

請詳細解釋你的答案 –