2010-02-23 4 views
14

Qu'est-ce qui est considéré comme la «meilleure pratique» lors de la sauvegarde des contacts du carnet d'adresses dans les données de base? J'écris une application pour iPhone, basée sur les données de base, dans laquelle je dois enregistrer et rappeler les contacts du carnet d'adresses dans le cadre du modèle de données.Contacts du carnet d'adresses dans les données de base

Dans l'interface utilisateur, je prévois de présenter un écran où l'utilisateur peut choisir un contact du carnet d'adresses actuel, créer un nouveau contact pour stocker dans le carnet d'adresses ou créer un contact unique sans sauvegarde enregistrement, local à l'application seulement. Ces contacts sont suivis dans le contexte des commandes qu'ils ont passées, et tous les contacts ne nécessitent pas d'enregistrement en dehors de l'application elle-même.

Vous avez tort de copier les données du carnet d'adresses si vous utilisez une entrée existante, mais vous ne savez pas quoi faire si un enregistrement de carnet d'adresses est édité ou supprimé. J'ai juste besoin de suivre le nom et la photo pour les besoins de l'App, donc la réaction de gut est de stocker le ABRecordID, et-car ils peuvent apparemment change (!) - le nom et prénom, et seulement mettre à jour local enregistrer si c'est mis à jour (comment suivre cela?).

Ou pouvez-vous stocker un ABRecordRef directement? (J'imagine qu'ils ne sont pas persistants?)

J'ai fait quelques recherches sur Google, et ici, mais je ne trouve aucun exemple de code ou de discussion sur l'intégration de Core Data et Carnet d'adresses de cette manière; juste beaucoup de choses sur chacun dans l'isolement. Est-ce que quelqu'un ayant de l'expérience ou des connaissances à ce sujet les souligne ou me pointe dans le sens d'une lecture plus approfondie?

Merci.

Andy W

Répondre

5

Je stocker le ABRecordID puis gérer la situation quand ils changent bien que je ne l'ai pas vu personnellement un cas où ils changent, sauf si l'utilisateur supprime toutes les données et restaure d'une autre source (mouvement de MobileMe à Google par exemple).

+0

Cela ne fonctionne pas. L'ABRecordID n'est pas constant entre les appareils pour le même enregistrement. – Mundi

Questions connexes