OGeek|极客世界-中国程序员成长平台

标题: ios - 如何使用 NSPredicate 在数组的数组中查找具有特定属性的对象? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 06:48
标题: ios - 如何使用 NSPredicate 在数组的数组中查找具有特定属性的对象?

假设我有以下对象

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];

但我遇到了“无法解析谓词”的错误。



Best Answer-推荐答案


我认为您需要使用 ANY 运算符,如下所示:

NSPredicate *p = [NSPredicate predicateWithFormat"ANY arrayOfB.name BEGINSWITH[c] %@", myText];

关于ios - 如何使用 NSPredicate 在数组的数组中查找具有特定属性的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22115516/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4