2011-04-16 32 views

回答

2

簡短的回答是:你不能。

長的答案是:你可以,但它會是一個lot的工作。我可能會做這樣的事情:

  1. 通過遞歸謂詞的所有NSExpressions聚合所有的-keyPath字符串,並將其存儲在數組中。這些將是您要查詢的對象的屬性。
  2. 遍歷您的ABRecord對象數組並創建一個字典來表示每個對象。此字典將具有recordID以及要鍵入屬性名稱的每個「keypath」的ABRecordCopyValue()值。
  3. 這些字典會聚集在一個數組中。
  4. 這個新的數組(字典)將被用謂詞過濾
  5. 過濾後,縮小的字典數組將被轉換回對象數組並返回。

這聽起來像一個有趣的問題。我會多想一些,也許會回來修改我的答案。

相關問題