如何从数组中删除重复的值

nee*_*eel 7 arrays iphone objective-c nsmutablearray

您好我有一个NSMUtableArry包含重复值,例如[1,2,3,1,1,6].我想删除重复值并希望新数组具有不同的值.请帮助

REA*_*EE 18

两个班轮

NSMutableArray *uniqueArray = [NSMutableArray array];

[uniqueArray addObjectsFromArray:[[NSSet setWithArray:duplicateArray] allObjects]];
Run Code Online (Sandbox Code Playgroud)


dea*_*rne 2

我用这个方法在 NSArray 上创建了一个类别:

- (NSArray *)arrayWithUniqueObjects {
    NSMutableArray *newArray = [NSMutableArray arrayWithCapacity:[self count]];

    for (id item in self)
        if (NO == [newArray containsObject:item])
            [newArray addObject:item];

    return [NSArray arrayWithArray:newArray];
}
Run Code Online (Sandbox Code Playgroud)

然而,这是蛮力并且效率不高,可能有更好的方法。