0
说我有在IOS以下核心数据结构:NSPredicate检索具有特定孩子的所有父母吗? (IOS)
Parent1
Child1.1: Text='A', Number=1
Child1.2: Text='B', Number=1
Parent2
Child2.1: Text='B', Number=1
Child2.2: Text='A', Number=2
Parent3
Child3.1: Text='B', Number=2
Child3.2: Text='A', Number=1
我想以检索有一个孩子与文本的所有家长=“A”和总数= 1(Parent1和Parent3在上面例)。
基本上我需要的是看起来像父实体谓词:
ANY (child.Text = 'A' AND child.Number = 1)
但是,这并不工作 - 看来我不能有以下的任何关键字括号。
下面是不是是好(尽管它是有效的):
ANY child.Text = 'A' AND ANY child.Number = 1
,因为它返回Parent2为好。
有没有一种方法可以在谓词中做到这一点,或者我必须以编程方式执行此操作(例如,仅使用ANY关键字检索子元素并从背部关系构建父数组)?
NSPredicate转换=到==,两者是相同的。另外,我已经使用NSCompoundPredicate(我给出的例子被简化了),它与问题无关 - 它只是将简单的谓词与AND或OR组合起来,或者在NOT之前使用简单的谓词。我的问题是ANY关键字后面是括号,而不是括号内的内容。 –
@AmiramStark,你会通过显示你的实际代码而不是“简单的例子”来得到更好的答案,否则人们会浪费时间告诉你尝试你可能已经尝试过的事情。 – jrturton
jrturon,当我看到实际代码与简化代码之间没有任何区别时,我发现在显示数十行复杂代码方面毫无意义。根据官方的NSPredicate格式字符串语法,双等号是不相关的,复合谓词对ANY关键字不做任何处理。简化的代码有助于关注实际问题,我相信这是一个更好的方法。 –