所以我的对象有一个保留字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];
例外:
*** 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];
答案 0 :(得分:1)
第一个有6个格式说明符和7个变量。您要么缺少格式说明符,要么有额外的变量。您很可能需要删除前两个value
引用中的一个。