1

所以我的对象有一个保留词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];
4

1 回答 1

1

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

于 2013-09-06T04:08:58.373 回答