2014-06-09 2 views
0

У меня есть NSMutableArray по имени dishArray. У меня есть всего 15 объектов в этом массиве.Удалить все объекты из NSMutableArray, начиная с индекса 3

Я хочу только первые три объекта в массиве и удалить оставшийся массив.

Можно ли удалить какой-либо способ (кроме этого, цикл)?

Я знаю, используя цикл, я могу добиться этого, но я ищу альтернативный путь. Возможно, это будет 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

Try с помощью следующего кода:

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

Пожалуйста, объясните свой ответ вкратце –

Смежные вопросы