假设我有以下对象
class A {
NSArray *arrayOfB;
}
class B {
NSString *name;
}
现在,我有一个 As 数组,如下所示,每个 A 在其属性 arrayOfB 中包含 10 个 B 对象。
NSArray *arrayOfAs; //contains objects of A
如何使用 NSPredicate 根据 A 内部 Bs 的 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];
关于ios - 如何使用 NSPredicate 在数组的数组中查找具有特定属性的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22115516/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |