iphone – 如何搜索一个NSSet或NSArray对于一个特定的属性具有特定值的对象?

如何在NSSet或NSArray中搜索具有特定属性的特定值的对象?

示例:我有一个NSSet有20个对象,每个对象都有一个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中第一个找到的对象的概念没有意义,因为一个集合中的对象的顺序是未定义的。

相关文章
相关标签/搜索