iOS核心数据IN运算符,无法解析格式字符串

标签 ios sql core-data

我在这里尝试了一些线程,但找不到解决我的问题的方法。 我正在尝试编写这样的 NSPredicate:

NSPredicate* predicate = [NSPredicate predicateWithFormat: [NSString stringWithFormat:@"%@ IN %@", column, list]]; 

其中列变量的值为@"id",列表包含四个数字。 id 列是一个 NSNumber 列。

我收到以下错误,我不知道为什么:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse the format string "id IN (
    8,
    5,
    15,
    22
)

问题不在于 @"id"命名列(如类型),我尝试更改它但它不起作用。 我应该如何正确使用核心数据的 IN 运算符?

最佳答案

不要混合使用 stringWithFormatpredicateWithFormat。并且(正如上面已经评论的那样), 使用 %K 作为关键路径:

NSPredicate* predicate = [NSPredicate predicateWithFormat:@"%K IN %@", column, list]; 

关于iOS核心数据IN运算符,无法解析格式字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21535974/

相关文章:

iphone - 我如何在后台使用 nstimer

ios - 如何清除 iOS 应用程序中的 safari 缓存?

ios - UIViewController模糊背景变成灰色

sql - 在 Common Lisp 中使用的最佳 SQL 库是什么?

sql - 连接检索空列

ios - 如何在 swift 中将子类 NSManagedObject 分配给 var (而不是常量)

objective-c - AFIncrementalStore 是否需要 NSMainQueueConcurrencyType 上下文?

ios - 使用核心数据 ios swift 在两个日期之间获取记录

ios - PFSignupViewController 可选电子邮件

php - 'customer' 中的未知列 'on clause'