根据特定密钥对NSDictionaries的NSArray进行重复数据删除

mag*_*725 0 iphone objective-c nsdictionary nsarray deduplication

我试图根据词典中的特定键来删除NSArray的NSArray.我看到的是这样的:

NSDictionary *person1 = [NSDictionary dictionaryWithObjectsAndKeys:@"John", @"firstName", @"Smith", "lastName", @"7898", @"employeeID"];
NSDictionary *person2 = [NSDictionary dictionaryWithObjectsAndKeys:@"Eric", @"firstName", @"Johnson", "lastName", @"1718" @"employeeID"];
NSDictionary *person3 = [NSDictionary dictionaryWithObjectsAndKeys:@"John", @"firstName", @"Smith", "lastName", @"1153", @"employeeID"];

NSMutableArray *personArray = [NSArray arrayWithObjects:person1, person2, person3, nil];

// insert some code to de-dupe personArray based SOLELY on the firstName and lastName keys
Run Code Online (Sandbox Code Playgroud)

请注意,有两名员工姓名相同但ID不同.我想做的只是回到一个只有person1和person2的新数组,因为person3具有相同的数据 - 我只是不关心这个特定问题中的"employeeID"值.

有任何想法吗?谢谢!

-Matt

w-m*_*w-m 5

添加一个继承自NSDictionary的Person类并实现isEqual:忽略ID键,将字典转换为此类,然后从Person对象创建一个NSSet.