ABAddressBookベースのアプリケーションを開発しています。述語を使用して、abaddressbook内のオブジェクトを評価または比較したいと思います。しかし、ABAddreesBookはコアファンデーションフレームワークであり、KVCをサポートしていないようです。これは、アプリケーションで述語を使用できないことを意味しますか?
または、述語のようなことを行う他の方法はありますか?
ABAddressBookベースのアプリケーションを開発しています。述語を使用して、abaddressbook内のオブジェクトを評価または比較したいと思います。しかし、ABAddreesBookはコアファンデーションフレームワークであり、KVCをサポートしていないようです。これは、アプリケーションで述語を使用できないことを意味しますか?
または、述語のようなことを行う他の方法はありますか?
簡単な答えは:あなたはできません。
長い答えは次のとおりです。できますが、それは多くの作業になります。私はおそらくこのようなことをするでしょう:
NSExpressions
、すべての文字列を集約し、-keyPath
それらを配列に格納します。これらは、ABRecord
クエリするオブジェクトのプロパティになります。ABRecord
それぞれを表す辞書を作成します。このディクショナリには、レコードIDとABRecordCopyValue()
、プロパティ名にキー設定された、必要な各「キーパス」の値が含まれます。ABRecord
オブジェクトの配列に変換されて返されます。これは興味深い問題のように聞こえます。これについてもう少し考えて、おそらく戻って私の答えを編集します。