从NSMutableArray对象属性中删除重复的对象?

Dua*_*aan 4 objective-c nsstring nsmutablearray ios

我有一个NSObject属性如下

@property (nonatomic, retain) NSString * destinationid;
@property (nonatomic, retain) NSString * destinationname;
@property (nonatomic, retain) NSString * assetid;
@property (nonatomic, retain) NSString * assetname;
@property (nonatomic, retain) NSString * assetdescription;
Run Code Online (Sandbox Code Playgroud)

在这里,我将其保存在NSMutableArray中.

我从服务器获取的数据包含相同的DestinationName,但不同的其他属性.

我想检查一下,如果已经将相同的Object名称添加到NSMutableArray中,请不要再添加它.

我尝试使用内置循环,但没有用:(

谢谢

rma*_*ddy 16

这是一个解决方案:

NSArray *originalArray = ... // original array of objects with duplicates
NSMutableArray *uniqueArray = [NSMutableArray array];
NSMutableSet *names = [NSMutableSet set];
for (id obj in originalArray) {
    NSString *destinationName = [obj destinationname];
    if (![names containsObject:destinationName]) {
        [uniqueArray addObject:obj];
        [names addObject:destinationName];
    }
}
Run Code Online (Sandbox Code Playgroud)