NSPredicate IN 从数组元素中查询
Posted
技术标签:
【中文标题】NSPredicate IN 从数组元素中查询【英文标题】:NSPredicate IN query from array elements 【发布时间】:2016-02-03 21:30:51 【问题描述】:为一个古怪的标题道歉。我有一个 Ints 数组,我想定义一个 NSPredicate 来过滤掉 connectionType 等于数组中包含的值的项目。
所以基本上是这样的:
fetchRequest.predicate = NSPredicate(format: "connectionType IN all items in array
我发现了一些我认为可以处理此问题的 Objective C 示例,但我刚刚进入 ios 开发并且只使用过 Swift,因此非常感谢您提供一些帮助 :)
我试过这样做:
fetchRequest.predicate = NSPredicate(format: "connectionType IN \(myIntArray)"
但是,这会返回一个 NSInvalidArgumentException。我觉得我很接近。
NSInvalidArgumentException', reason: 'Unable to parse the format string "connectionType IN [28, 28]"
如果我执行以下操作:
fetchRequest.predicate = NSPredicate(format: "connectionType IN %@", myArray)
我得到了这个错误:
NSInvalidArgumentException', reason: 'unimplemented SQL generation for predicate : (connectionType IN 28, 28)'
【问题讨论】:
【参考方案1】:你会像这样构造一个谓词:
NSPredicate(format:"connectionType IN %@", yourIntArray)
我希望这会有所帮助。
【讨论】:
感谢您的建议,看来它几乎可以工作了。但是,我收到以下错误:NSInvalidArgumentException',原因:'无法解析格式字符串“connectionType IN [28, 28]” 没关系,一旦我意识到我有一对多的关系并相应地进行调整,它就起作用了。谢谢! @ardevd 你的评论拯救了我的一天,犯了同样的错误,不得不排列成一个数组以上是关于NSPredicate IN 从数组元素中查询的主要内容,如果未能解决你的问题,请参考以下文章