Удаление дубликатов элементов из NSMutableArray - PullRequest
1 голос
/ 12 марта 2012

У меня есть NSMutableArray.Я также синтезировал это.Я добавляю в него объекты из метода путем извлечения из некоторых имен файлов xml и т. Д. Теперь в моем массиве встречаются одни и те же элементы несколько раз.Мне нужно устранить несколько объектов и получить только уникальные.Как это может быть сделано?Я попробовал код ниже, но затем возникают некоторые ошибки.

NSString *AName = [CompleteFileName_string1 substringWithRange:ArtistRange];  
[array_artist addObject:AName];
for(int i=0; i < [array_artist count]; i++)
{
    if([[array_artist objectAtIndex:i] isEqualToString:[array_artist objectAtIndex:i+1]])
    {
        [[array_artist objectAtIndex:i+1]=NULL];
    }
    else
    {

    }
}

РЕДАКТИРОВАТЬ *** Мне нужно устранить, игнорируя чувствительность к регистру тоже ...

Ответы [ 6 ]

1 голос
/ 12 марта 2012

Перейти с NSSet

0 голосов
/ 29 марта 2012

А как же:

NSArray *out = [NSSet setWithArray:in].allObjects;

0 голосов
/ 12 марта 2012

Возьмите tempArray как golbally

Когда вы добавляете объекты из XML, вам нужно просто проверить

NSString *upCaseString=[stringFromXML uppercaseString];

if(![tempArray containsObject:upCaseString]) {    
    [array_artist addObject:stringFromXML]; 

    [tempArray addObject:upCaseString];
}
0 голосов
/ 12 марта 2012
if([[array_artist objectAtIndex:i] &&[array_artist objectAtIndex:i+1] caseInsensitiveCompare:@"True"] == NSOrderedSame])

{Добавить элемент}

0 голосов
/ 12 марта 2012

Использовать следующий код. Сначала добавить все значения в array_artist

int i1=0;

tempArray = [NSMutableArray alloc] init];

while (i1 < [array_artist count]) {     

    if ([tempArray containsObject:[array_artist objectAtIndex:i1]) {
    //Do not Add    
    }
    else {
       //Add  object
       [tempArray addObject:array_artist:i1];           
    }

    i1++;
}
0 голосов
/ 12 марта 2012

Просто проверьте, содержит ли массив объект:

if(![yourArray containsObject:stringFromXML]) 
{
             [yourArray addObject:stringFromXML]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...