Лучший способ удалить дубликаты значений из NSMutableArray в Objective-C? - PullRequest
143 голосов
/ 22 июня 2009

Лучший способ удалить повторяющиеся значения (NSString) из NSMutableArray в Objective-C?

Это самый простой и правильный способ сделать это?

uniquearray = [[NSSet setWithArray:yourarray] allObjects];

Ответы [ 14 ]

0 голосов
/ 23 мая 2018

Удалить повторяющиеся значения из NSMutableArray в Objective-C

NSMutableArray *datelistArray = [[NSMutableArray alloc]init];
for (Student * data in fetchStudentDateArray)
{
    if([datelistArray indexOfObject:data.date] == NSNotFound)
    [datelistArray addObject:data.date];
}
0 голосов
/ 08 июня 2016

Использование Orderedset поможет. Это сохранит удаление дубликатов из массива и будет поддерживать порядок, который обычно не выполняется

0 голосов
/ 15 мая 2012

Вот код удаления значений дубликатов из массива NSMutable. .it будет работать для вас. myArray - это ваш изменяемый массив, для которого вы хотите удалить дублирующиеся значения.

for(int j = 0; j < [myMutableArray count]; j++){
    for( k = j+1;k < [myMutableArray count];k++){
    NSString *str1 = [myMutableArray objectAtIndex:j];
    NSString *str2 = [myMutableArray objectAtIndex:k];
    if([str1 isEqualToString:str2])
        [myMutableArray removeObjectAtIndex:k];
    }
 } // Now print your array and will see there is no repeated value
0 голосов
/ 16 сентября 2011

просто используйте этот простой код:

NSArray *hasDuplicates = /* (...) */;
NSArray *noDuplicates = [[NSSet setWithArray: hasDuplicates] allObjects];

, поскольку nsset не допускает повторяющихся значений и все объекты возвращают массив

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...