假设我有以下对象
class A {
NSArray *arrayOfB;
}
class B {
NSString *name;
}
现在,我有一个如下的As数组,每个A在其属性arrayOfB中包含10个B的对象。
NSArray *arrayOfAs; //contains objects of A
如何通过使用NSPredicate根据A内部B的name属性的特定匹配来获取A的对象?
我尝试使用谷歌搜索等等,甚至编写了各种样式的NSPredicate,但都没有成功。谁能启发我怎么做?
这是我到目前为止尝试过的:
NSPredicate *p = [NSPredicate predicateWithFormat:@"(SELF.name BEGINSWITH[c] %@ IN SELF.arrayOfB)",myText];
NSArray *mySearchedArrayOfAs = [arrayOfAs filteredArrayUsingPredicate:p];
但是我遇到错误,提示“无法解析谓词”。
我认为您需要使用ANY
运算符,如下所示:
NSPredicate *p = [NSPredicate predicateWithFormat:@"ANY arrayOfB.name BEGINSWITH[c] %@", myText];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句