【发布时间】:2016-05-15 01:35:50
【问题描述】:
我想做这样的事情:
NSPredicate(format: "name contains[cd] %@ AND (position == %@ OR position == %@), name, position1, position2)
但是,我已经尝试过了,但我不断收到严重的 Core Data 应用程序错误。然后我尝试使用 NSCompoundPredicate,但我也不能在那里组合“AND”和“OR”。
我读过Combining 'AND' and 'OR' Condition in NSPredicate ,不同之处在于提问者想要一个子集合上的“或”,所以答案涉及一个我不想要的子查询。
我该怎么做?
【问题讨论】:
-
您遇到了什么错误?你试过
"( name contains[cd] %@ )AND (position in %@)",name,[position1,position2])吗? -
谢谢,这比我做的更好!
-
原来我错误地认为上述方法不起作用。在我尝试使用传统的 Swift 插值通过 for 循环将字符串添加到 NSPredicate 之前 - 我怀疑这会导致 Core Data 错误。然后我在尝试使用 NSCompoundPredicate 之后忘记了这是问题所在。
标签: ios core-data nspredicate nscompoundpredicate