使用filterArrayUsingPredicate对数组使用NSPredicate非常简单:。
如何为键路径值完成此操作?意思是,我有一个对象数组(在这种情况下,对象属于同一类型)。每个对象都有一个名为name的实例变量。根据文档,它说要执行以下操作:
NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"ANY employees.firstName like 'Matthew'"];
那是否也被用于filteredArrayUsingPredicate?如果我有一组People对象怎么办?这是否意味着我会使用:
NSArray *allPeopleObjects; // pre-populated
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY people.name like 'Foo'"];
NSArray *matching = [allPeopleObjects filteredArrayUsingPredicate:predicate];
该部门的文档有点缺乏。
是否也可以针对单个Person对象使用谓词?像Person.name这样的东西包含[cd]'Foo'?怎么做?
答案 0 :(得分:0)
是的,你的两个例子都能很好地运作。 NSPredicate
可以遵循键值路径。如果您有一个Person
个对象,为什么不使用valueForKeyPath:
并在代码中进行比较而不是使用NSPredicate
?在这种情况下似乎有点过分了。