J'ai un singleton qui a un NSArray créé lorsque la première instance du singleton est. Quand dois-je sauvegarder ce tableau sur le disque, dans la méthode dealloc? J'ai vérifié les docs d'Apple et son dit que vous ne devriez vraiment pas dans dealloc mais ne parvient pas à dire où. Je suis donc censé écrire sur le disque chaque fois que le tableau est modifié? Cela semble être un gâchis?Enregistrement d'un tableau sur un disque dans un singleton
Répondre
En général, vous devriez sauvegarder l'état près du moment où cet état a été changé. Si la quantité d'état que vous enregistrez est très faible, vous pouvez attendre que l'application delegate -applicationWillResignActive: method soit appelée. Ou vous pourriez avoir un registre singleton avec NSNotificationCenter pour observer UIApplicationWillResignActiveNotification. Et puis enregistrer.
Si votre baie est très grande, vous pouvez enregistrer moins fréquemment. Mais vous devez également être conscient du temps qu'il faudra pour écrire votre tableau sur le disque. Selon les circonstances dans lesquelles votre application se résout comme active, vous pouvez ne pas avoir beaucoup de temps pour écrire sur le disque.
Avez-vous une idée précise de la quantité maximale de données à écrire? Est-ce limité ou est-il ouvert?
- 1. Enregistrement d'un fichier WAV sur le disque
- 2. Enregistrement sur disque et récupération - Android
- 3. Comment afficher un tableau de doubles sur le disque dur?
- 4. Meilleure façon de créer un tableau singleton
- 5. Enregistrement des données addressbookUI dans un tableau
- 6. Puis-je écrire un tableau de UILocalNotifications sur le disque?
- 7. un tableau de Restitution doubles dans un fichier sur le disque dur
- 8. Comment insérer un enregistrement vide dans un tableau
- 9. Tableau de (pointeurs vers un enregistrement)
- 10. WebClient - Enregistrement d'un fichier téléchargé sur le disque
- 11. Enregistrement du résultat xml du serveur sql sur le disque
- 12. Comment obtenir l'espace disque sur un serveur?
- 13. Enregistrement d'une chaîne Base64 sur un disque en tant que binaire en utilisant PHP
- 14. Enregistrement sur disque d'une base de données en mémoire
- 15. Enregistrement d'un document PDF sur le disque en utilisant Quartz
- 16. Comment tester un fichier sur le disque?
- 17. Sqlite pour un tableau associatif supporté par disque?
- 18. quand utiliser un singleton?
- 19. Enregistrement des chaînes sur le disque sous Delphi 2009
- 20. Enregistrement d'un tableau dans un fichier texte en Java
- 21. détruire un objet singleton
- 22. Quand utiliser un singleton?
- 23. Enregistrement d'un rapport dans un fichier sur un PC client?
- 24. Silverlight 2.0 - Enregistrement dans un fichier texte
- 25. Comment appeler un service singleton WCF dans un service singleton WCF sans suspension?
- 26. comment est un fichier représenté sur un disque
- 27. mmap écrit dans un fichier sur le disque (synchrone/asynchrone)
- 28. Comment réanimer un ggplot enregistré sur disque dans une liste?
- 29. comment implémenter un singleton - dans weblogic
- 30. réinsérant un enregistrement dans un magasin ExtJS
Chaque fois que l'utilisateur réorganise les cellules d'une tableView (et il y a en fait 2 NSArrays) les tableaux du singleton sont mis à jour pour correspondre, l'utilisateur est susceptible de réordonner plus d'une rangée à la fois, mais il sera appelé chaque ligne déplacée, donc je ne veux pas que l'utilisateur déplace une rangée, l'application sauvegarde sur le disque, l'utilisateur déplace une autre ligne une milliseconde plus tard et doit enregistrer à nouveau sur le disque, etc. –
Y at-il une notion de l'utilisateur commettant récemment changements, comme un bouton "Terminé"? D'ailleurs, existe-t-il un «Annuler» qui annulerait les changements récents? – westsider
Comment aurais-je pu oublier ça? Pourquoi ai-je posé la question :) –