2010-10-22 7 views
0

Dans mon application, les utilisateurs peuvent afficher et modifier leurs contacts du carnet d'adresses. En ce moment, j'essaie de soutenir iOS 4 backgrounding.Recharger/Actualiser un ABPersonViewController

Voici mon problème. Si un utilisateur affiche un contact, dites "John Appleseed" dans mon application, l'utilisateur peut alors basculer vers le carnet d'adresses de l'iPhone, ouvrir "John Appleseed", et modifier ses informations de contact. Si l'utilisateur revient ensuite à mon application, la vue de mon application sur John Appleseed n'est plus à jour. Je veux que cette vue soit actualisée avec la nouvelle info. Évidemment, l'utilisateur peut fermer et rouvrir le contact dans l'application (ou l'application peut le faire par programmation), mais c'est une expérience utilisateur moins qu'idéale.

Je sais que cela est possible dans l'autre sens, c'est-à-dire que l'utilisateur modifie les contacts dans l'application et passe au carnet d'adresses iPhone et aux mises à jour automatiques de l'affichage.

Je sais déjà comment détecter si un changement s'est produit, mais je veux être en mesure d'actualiser la vue. J'utilise un ABPersonViewController. Malheureusement, puisque ce n'est pas une instance de UITableViewController, je ne peux pas simplement faire [self.tableView reloadData]

Merci d'avance pour toute aide sur le problème!

Répondre

0

Si vous savez déjà comment obtenir les nouvelles informations de contact ABRecordRef, puis essayez

yourABPersonViewController.displayedPerson = yourNewABRecordRef; 
[yourABPersonViewController.view setNeedsDisplay]; 
+0

tourne ce fonctionne dans iOS 4.2 et versions ultérieures. Je suppose que mon problème était un bug dans les versions précédentes d'iOS. Merci! –

Questions connexes