我使用Core Data或SQL已经有一段时间了,所以我甚至不记得如何做到这一点,甚至不知道如何搜索它。
我有一个对象列表
name | id |
_______|______|
John | 4 |
Betty | 7 |
Betty | 2 |
Betty | 4 |
Edward | 2 |
Edward | 4 |
John | 4 |
我想找到包含Betty和Edward的id。 这应该返回2 Not 4
有什么想法吗?
非常感谢! 亚历
答案 0 :(得分:0)
您将遇到属性名称id
的问题,因此我使用了uid
。另外,请注意名称
NSArray *bettyIDs = [[allPersons filteredArrayUsingPredicate:
[NSPredicate predicateWithFormat:@"name = %@", @"Betty"] valueForKeyPath:@"uid"];
NSArray *edIDs = [[allPersons filteredArrayUsingPredicate:
[NSPredicate predicateWithFormat:@"name = %@", @"Edward"] valueForKeyPath:@"uid"];
NSArray *commonIDs = [bettyIDs filteredArrayUsingPredicate:
[NSPredicate predicateWithFormat:@"self in %@", edIDs]];
// commonIDs --> @[@2, @4];