2016-04-06 15 views
1

連絡先の更新時に通知するにはNSNotification "CNContactStoreDidChangeNotification"を使用しています。しかしどの連絡先が更新されたのかを正確に知るには連絡先フレームワークで更新された連絡先のIDまたはアイテムのみを見つける方法

+0

すべての連絡先には一意のIDがあります。また、ONアップデートも変更されていますので、連絡先を新しいものと比較して配列に保存してください。 –

+0

いいえ私はそれを確認して、更新する予定は変わっていないでしょう... –

+0

はい、リンゴはそれをお勧めしませんでしたが、IDのプロパティもCNContactのためにチェックしています –

答えて

0

Documentation

を言うの保存が正常に実行された後、接触ストアポストデフォルト 通知センターに CNContactStoreDidChangeNotification通知。 は、コンタクトフレームワークオブジェクトをキャッシュする場合は、その識別子でオブジェクトを再フェッチする必要があります。 は、最初にフェッチするために使用された述語です。 はキャッシュされたオブジェクトを解放します。キャッシュされたオブジェクトは無効ですが、 は無効ではありません。 IOS 9.0 Documentation

から

あなたがフェッチされた連絡先、グループ、またはコンテナをキャッシュした場合、あなたは に必要なこれらのオブジェクトを再フェッチ(古いキャッシュされたオブジェクトを解放) CNContactStoreDidChangeNotificationが掲載されている場合。

+0

何が起こった、ユーザーが電話番号だけを変更すると、電子メール??もう一度すべてのアイテムをチェックしてみてください.... BTW ABAddressBookAddRecordに関するこのドキュメント。これはIOS 9では廃止されました –

+0

はい、する必要があります、ドキュメントのリンクを確認してください、それは識別子を使用するための詳細な説明があります。 IdentifierプロパティはCNContactsでも同じです。 –

関連する問題