2010-12-15 87 views
0

J'ai travaillé sur une première application depuis un certain temps basée sur l'exemple CoreDataBooks. Je remarque que si je supprime tout le code UndoManager, l'échantillon semble toujours fonctionner normalement. Je ne me soucie pas de l'événement shake, donc est-ce quelque chose que je peux supprimer en toute sécurité dans une application de base de table (similaire à Contacts)? J'ai passé du temps avec la documentation et sur le Web, et je ne vois pas comment j'utiliserais cette fonctionnalité. Est-ce que je manque quelque chose de basique?UndoManager est-il nécessaire dans l'exemple CoreDataBooks?

Répondre

2

NSManagedObjectContext on ADC est assez clair sur ce sujet

Vous pouvez définir le gestionnaire d'annulation à zéro pour désactiver le support d'annulation. Cela offre un avantage en termes de performances si vous ne souhaitez pas prendre en charge l'annulation d'un contexte particulier, par exemple lors d'un important processus d'importation (voir le Guide de programmation des données de base).

Si vous n'avez pas besoin de soutien annuler le désactiver en réglant nul undoManager dans votre contexte (ou ne définissez pas du tout)

+2

Merci. J'ai trouvé des informations supplémentaires pour cet événement dans le document iOS Introduction to Undo Architecture. Votre réponse confirme que je peux supprimer en toute sécurité tout le code lié à UndoManager, et le seul effet sur l'application sera la perte de Undo lorsque l'événement Shake est appelé. De plus, je n'avais pas réalisé que l'événement Shake était défini par défaut, ce qui explique ma perplexité lorsque j'ai essayé de comprendre comment l'annulation était appelée dans l'application. Ça a du sens maintenant. – jon

+0

@jon Wow, merci de le signaler; J'ai eu la même perplexité. Je me demande combien d'utilisateurs savent qu'un tremblement est parfois annulé. Et dans cette application plutôt inutile car les modifications sont déjà annulées avec Annuler. –