NSMutableArray删除重复的项目

pau*_*991 2 iphone objective-c nsmutablearray

 NSLog(@"Ci sono %d categorie",category.count);
 for(int c=0; c<category.count; c++){
 CategoryArray * element =[category objectAtIndex:c];
 NSLog(@"******************************");
 NSLog(@"Titolo %@",element.label);
 NSLog(@"Source %@",element.url);
 NSLog(@"******************************");
 [element release];
Run Code Online (Sandbox Code Playgroud)

这是我的代码!我需要删除所有重复数组...我使用此代码,但我不明白为什么它不起作用.

uniquearray = [[NSSet setWithArray:category] allObjects];
Run Code Online (Sandbox Code Playgroud)

Cal*_*leb 5

你的代码确实有效.试试这个:

NSArray *a = [NSArray arrayWithObjects:@"a", @"b", @"c", @"d", @"b", @"b", @"d", nil];
NSLog(@"a: %@\ndistinctA: %@", a, [[NSSet setWithArray:a] allObjects]);
Run Code Online (Sandbox Code Playgroud)

输出是:

a: (
    a,
    b,
    c,
    d,
    b,
    b,
    d
)
distinctA: (
    c,
    d,
    a,
    b
)
Run Code Online (Sandbox Code Playgroud)

知道代码适用于包含重复对象的数组,您现在不得不想知道为什么您认为重复的对象不被认为是如此.关于hash和isEqual的现有答案指向正确的方向.