如何在NSSet或NSArray中搜索具有特定属性特定值的对象?
示例:我有一个包含20个对象的NSSet,每个对象都有一个type
属性.我想得到第一个有[theObject.type isEqualToString:@"standard"]
的物体.
我记得有可能用谓词来处理这类事情,对吧?
如何在NSSet或NSArray中搜索具有特定属性特定值的对象?
示例:我有一个包含20个对象的NSSet,每个对象都有一个type
属性.我想得到第一个有[theObject.type isEqualToString:@"standard"]
的物体.
我记得有可能用谓词来处理这类事情,对吧?
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"type == %@", @"standard"];
NSArray *filteredArray = [myArray filteredArrayUsingPredicate:predicate];
id firstFoundObject = nil;
firstFoundObject = filteredArray.count > 0 ? filteredArray.firstObject : nil;
注:在NSSet中找到first个对象的概念毫无意义,因为集合中对象的顺序尚未定义.