如何创建NSPredicate
按类Contact
的实体进行过滤?
NSPredicate check for kind of object class崩溃的解决方案:
[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
(应用用户)&amp; Contact
(地址簿联系人),Person
的两个孩子(抽象实体)。 Person
有许多identities
,可以是emails
,phones
或usernames
。
要创建类似文字消息的预先输入,我想为NSFetchRequest
实体创建一个Identity
person
属于Contact
类。
答案 0 :(得分:2)
你可能会混淆一些事情。您指出的答案是关于过滤UIView
数组的谓词。核心数据中的谓词以稍微不同的方式工作。
要获得所需结果,只需将获取请求的entity
设置为@"Contact"
。
答案 1 :(得分:0)
如果您在联系人中有必填字段,则可以过滤该字段不为空。如果Contact中没有必填字段(不在Person中),则可以在该字段上添加虚拟必填字段和过滤器。