如何对ABRecord之类的CF对象使用谓词(需要KVC)?

| 我正在开发基于ABAddressBook的应用程序。 我想使用谓词来评估或比较abaddressbook中的对象。但是看来ABAddreesBook是一个核心资助框架,并且不支持KVC。这是否意味着我不能在应用程序中使用谓词? 还是有其他方法可以做谓词?     
已邀请:
简短的答案是:您不能。 长答案是:可以,但是需要大量工作。我可能会做这样的事情: 遍历谓词的所有“ 0”以聚合所有“ 1”字符串并将它们存储在数组中。这些将是您要查询的
ABRecord
对象的属性。 遍历2个对象的数组,并创建一个字典来表示每个对象。该词典将具有recordID以及所需的每个\“ keypaths \”的
ABRecordCopyValue()
值,并键入属性名称。 这些字典将聚集在一个数组中。 这个新的(词典)数组将被谓词过滤掉 过滤后,缩小后的字典数组将转换回2个对象数组并返回。 这听起来像是一个有趣的问题。我会再考虑一下,也许回来再编辑我的答案。     

要回复问题请先登录注册