ios - NSPredicate %K with OR 引发 NSUnknownKeyException

标签 ios nspredicate

所以我的对象有一个保留字no,所以我必须在谓词中使用%K。当我将 %K 用作唯一条件时,它会起作用,但是当我将它添加到链或条件时,会引发异常。

这会引发异常:

NSPredicate *predicateTemplate = [NSPredicate  predicateWithFormat:@"first_name CONTAINS[cd] %@ OR last_name CONTAINS[cd] %@ OR nickname CONTAINS[cd] %@ OR group == %i OR %K = %i", searchText, searchText, searchText, value, value, @"no", value];

异常(exception):

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<Contact 0x828dbd0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key (null).'

这个有效:

NSPredicate *predicateTemplate = [NSPredicate  predicateWithFormat:@"%K = %i", @"no", value];

最佳答案

第一个有 6 个格式说明符和 7 个变量。您要么缺少格式说明符,要么有一个额外的变量。您很可能需要删除前两个 value 引用之一。

关于ios - NSPredicate %K with OR 引发 NSUnknownKeyException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18649664/

相关文章:

iphone - 如何使用 NSXMLParser 解析此 xml 数据

ios - 你如何构造 NSFetchRequest setHavingPredicate :? 的谓词

ios - NSPredicate 在获取请求中使用 @max 和其他条件

core-data - 在 Swift 中从数组值构建 NSCompoundPredicate

ios - UITableview 以编程方式设置多选

objective-c - 关闭数字键盘式键盘而不添加完成键

ios - iOS 7 中不显示 TabBar 高亮显示

iphone - NSSortDescriptor 和 NSPredicate 用于排序和过滤

ios - 如何在 iOS7 中搜索 NSString 句子中用逗号分隔的特定单词?

ios - Red Bear Lab BLE Shield 无法连接到我的 iPhone