我正在开发一个基于ABAddressBook的应用程序。 我想使用谓词来评估或比较abaddressbook中的对象。但似乎ABAddreesBook是一个核心基金框架,并不支持KVC。这是否意味着我不能在我的应用程序中使用谓词?
或者还有其他方法可以做谓词吗?
答案 0 :(得分:2)
简短的回答是:你做不到。
答案很长:你可以,但这是很多的工作。我可能会做这样的事情:
NSExpressions
谓词以聚合所有-keyPath
字符串并将其存储在数组中。这些将是您要查询的ABRecord
个对象的属性。ABRecord
个对象数组,并创建一个字典来表示每个对象。这个字典将具有recordID以及你想要的每个“keypaths”的ABRecordCopyValue()
值,键入属性名称。ABRecord
个对象数组并返回。这听起来像个有趣的问题。我会更多地考虑这个问题,或者回过头来编辑我的答案。