7

我将如何创建一个NSPredicate按类的实体进行过滤Contact

NSPredicate 检查对象类崩溃的解决方案:

[NSPredicate predicateWithFormat:@"person.class == %@", [Contact class]];

*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
    reason: 'keypath person.class not found in entity <NSSQLEntity User id=12>'

背景

我有核心数据实体User(应用程序用户)和Contact(通讯录联系人),都是Person(抽象实体)的孩子。Person有很多identities, 可以是emails, phones, 或usernames.

要创建一个类似文本消息的预输入,我想创建一个NSFetchRequestfor Identityentity where personis of class Contact

4

2 回答 2

2

你可能混淆了一些事情。您指出的答案是关于过滤s数组的谓词UIView。核心数据中的谓词以稍微不同的方式工作。

要达到您想要的结果,只需将entity您的 fetch 请求设置为@"Contact".

于 2012-04-02T23:30:24.127 回答
0

如果您在联系人中有必填字段,则可以过滤该字段不为空。如果您在联系人中没有必填字段(不是个人),您可以添加一个虚拟必填字段并对该字段进行过滤。

于 2012-04-04T04:59:45.887 回答