J'ai un modèle de données construit dans les données de base pour l'iPhone. J'ai aussi un NSUndoManager qui travaille pour ce modèle. Le problème est que j'ai certaines propriétés sur une entité que je ne veux pas affecter lors d'une annulation et d'autres propriétés que je veux annuler. Est-ce possible sans changer radicalement les choses? Si oui, quelle est la meilleure façon de le faire.iPhone Core Data: Persistance de la propriété pendant l'annulation
0
A
Répondre
1
Après un peu de lecture ...
Les méthodes NSUndoManager:
- (void)disableUndoRegistration
- (void)enableUndoRegistration
fonctionne sous réserve que l'on appelle directement après la méthode NSManagedObjectContext
- (void)processPendingChanges
.
Par exemple, vous pouvez ajouter la méthode suivante sur un objet réussi à mettre la météo ou non une modification d'une propriété devrait être ajouté à la pile undo:
- (void)setColor:(UIColor *)aColor undo:(BOOL)shouldUndo{
if (shouldUndo)
[self setColor:aColor];
else{
NSManagedObjectContext *moc = self.managedObjectContext;
[moc processPendingChanges]; //Disable undo
[moc.undoManager disableUndoRegistration];
[self setColor:aColor]; //Preform change
[moc processPendingChanges]; //Enable undo
[moc.undoManager enableUndoRegistration];
}
}
Notez que si vous avez un tas de changements que vous ne voulez pas ajouter à la pile d'annulation, ce n'est peut-être pas la façon la plus efficace de le faire.
Questions connexes
- 1. iPhone UIImage - Data Persistance
- 2. Relations récursives iPhone Core Data
- 3. iPhone Core Data - Simple Query
- 4. iPhone Core Data et multithread
- 5. iphone core data save ne fonctionne pas
- 6. Iphone Core data - sauvegarde automatique ou pas?
- 7. Chaîne tronquée dans Core-Data sur iPhone
- 8. iPhone Core Data Migration avec plusieurs modèles
- 9. Core Data quesition
- 10. iPhone Core Data récupérer des manipulations de date
- 11. Core Data @sum aggregate
- 12. Core Data NSDate Comparaison
- 13. Core Data Relationship List
- 14. Comment imprimer une propriété d'un élément Core Data?
- 15. Core Data et MySQL
- 16. iPhone Core Data ne récupère aucune donnée de Sqlite3
- 17. Core-Data iPhone: impossible de localiser un NSManagedObjectModel
- 18. Modèle de conception pour l'application iPhone Core Data
- 19. Gestion de la mémoire Core Data
- 20. Core Data, NSFetchResultsController
- 21. Core Data NSFetchRequest problème
- 22. Core Data - NSFetchRequest Problème
- 23. Utilisation de 'Core Data' avec Phonegap?
- 24. iPhone dev: comment imprimer les résultats d'un fetchRequest Core Data?
- 25. cacao iphone core-data predicate fetchrequest un-à-plusieurs
- 26. Comment écrire une requête dans Core Data dans iPhone
- 27. Core Data, KVO et NSInternalInconsistencyException
- 28. Core Data to-many relations. Sont-ils la charge paresseuse?
- 29. Core Data NSFetchedResultsController - Nombre total d'enregistrements retournés
- 30. Enregistrement de la position dans la hiérarchie de vues dans l'application iPhone Core Data
Généralement, j'ai seulement besoin du second -processPendingChanges lors de la désactivation de l'enregistrement d'annulation. –