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