我上课了。让我们称之为MyObject
课程。 MyObject
有一个名为item的属性NSMetadataItem
。
NSMetadataItem
有一个名为NSMetadataItemFSNameKey
的属性,可以通过以下方式获取:
NSString *fileName = [myMetadataItem valueForAttribute: NSMetadataItemFSNameKey];
现在我有一个数组或MyObjects
我希望找到哪个对象有NSMetadataItemFSNameKey
是我正在寻找的项目。
好的,我可以使用以下代码遍历数组:
for (MyObject *oneObj in array) {
NSString *oneFileName = [oneObj.item valueForAttribute:NSMetadataItemFSNameKey];
if ([oneFileName isEqualToString:fileNameItem]) {
// found, do something
}
}
但我试图找到是否可以使用NSPredicates
和过滤?
这可能吗?
答案 0 :(得分:2)
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"item.%K = %@", NSMetadataItemFSNameKey, fileNameItem];
NSArray *filteresArray = [array filteredArrayUsingPredicate:predicate];
输入Safari。