Je travaille sur une application iPhone éditeur de texte où un utilisateur peut taper et enregistrer une note avec la police personnalisée, la taille et la couleur. J'ai donc un NSString
, UIFont
, et un UIColor
. J'ai besoin de stocker tout cela dans une sorte de structure de données, mais je ne suis pas sûr de ce qui serait la meilleure méthode. Actuellement, j'utilise un NSMutableArray
qui écrit à un plist pour la chaîne, et deux autres NSMutableArray
objets personnalisés qui enregistrent à NSUserDefaults
à la sortie. Mais cela devient trop compliqué à gérer et à déboguer. Y a-t-il une meilleure façon de faire cela?Meilleure façon de stocker du texte, des polices et des couleurs dans l'iPhone?
Répondre
Je créerais une sous-classe NSObject personnalisée, appelée AttributedText. Il stockerait ces valeurs à l'aide de setters personnalisés et pourrait être récupéré dans le magasin de données avec des getters personnalisés. Vous pouvez facilement le faire enregistrer dans NSUserDefaults, si vous avez utilisé cet objet personnalisé.
Votre chemin est le plus simple déjà. Si vous cherchez quelque chose d'un peu plus propre, vous pourriez envisager la construction d'un petit objet personnalisé qui est responsable de:
- Le stockage des données que vous voulez, et
- Sauvegarde/chargement dans
NSUserDefaults
au besoin
Définissez une API getter/setter simple sur l'objet pour les données que vous souhaitez, et utilisez-la pour séparer la complexité du traitement des tableaux et des valeurs par défaut de l'utilisateur. (Vous utiliserez la plupart de la même implémentation que vous avez déjà, juste dans une classe différente.)
Je stockerais simplement une chaîne attribuée.
NSAttributedString prétend se conformer à NSCoding sur iOS, mais cela ne fonctionne généralement pas car la plupart de ses attributs sont des types de texte de base non pontés. – Isabel
- 1. Meilleure façon de stocker des URL localement
- 2. Meilleure façon de stocker et d'afficher des images dans Android
- 3. Meilleure façon de stocker des données
- 4. Meilleure façon de stocker des données
- 5. iPad - meilleure façon de stocker des données
- 6. Meilleure façon de stocker du texte pour les tables MySQL
- 7. Une meilleure façon de stocker des données dans Java?
- 8. Meilleure façon de stocker des images dans iOS
- 9. La meilleure façon de stocker des traductions dans MySQL DB
- 10. Meilleure façon de stocker des données dans Android
- 11. Meilleure façon de stocker des données de jeu sur iPhone?
- 12. Xcode: Meilleure façon de stocker des tonnes de données
- 13. Meilleure façon de stocker référenceur?
- 14. Javascript: La meilleure façon de stocker des données cartographiques?
- 15. Meilleure façon de stocker des données de flux
- 16. Meilleure façon de stocker des données de texte dans une application Android?
- 17. Meilleure façon de stocker des ensembles d'images pour Windows Forms
- 18. La meilleure façon de stocker des données en toute sécurité?
- 19. Meilleure façon de stocker des données sur l'iphone
- 20. meilleure façon de stocker/utiliser plusieurs langues
- 21. Façon simple d'importer et d'exporter et de stocker des tableaux
- 22. Texte anti-aliasing et lissage des polices
- 23. Meilleure façon de stocker des images et des vidéos sur Azur
- 24. Meilleure façon de stocker un grand texte ressources iOS
- 25. Quelle est la meilleure façon de stocker des données centralisées pour (et de) la traduction?
- 26. Quelle est la meilleure façon de stocker des messages texte? Quelque chose comme SMS
- 27. La meilleure façon de stocker des articles dans une base de données? (php et sql)
- 28. Meilleure façon de lire et de traiter un fichier texte
- 29. Meilleure façon de stocker la réponse JSON?
- 30. Meilleure façon de stocker les critères Badge?
Voici comment je vais enregistrer ces éléments :) Vous dites que vous utilisez des tableaux pour stocker la police et la couleur - certainement pour la police, vous pouvez simplement enregistrer le nom et juste le code hexadécimal de la couleur? Cela dépend de la façon dont vous chargez actuellement ceux-ci et permet la sélection, je suppose. – Luke