web-dev-qa-db-fra.com

Que puis-je faire avec un type d'attribut transformable dans Core Data sur l'iPhone?

Il existe ce type de données transformable pour les attributs. À quoi ça sert? Y a-t-il de bons exemples?

J'aimerais jouer avec ça. Donc, après avoir cherché un moment, je suis tombé sur ceci: NSValueTransformer. Semble être quelque chose dont j'ai besoin pour cela.

Alors, comment pourrais-je commencer avec ça? Par exemple, si je voulais stocker un objet UIColor, ferais-je un transformateur pour cela?

Quelle est exactement cette chose qui se transforme vers ou depuis? Un NSData? Et l'objet que je passe au transformateur doit-il suivre un protocole?

57
dontWatchMyProfile

Les attributs transformables sont utiles pour stocker des types d'objets non standard dans Core Data. Par exemple, je fournis du code dans cette réponse qui vous permet de stocker des UIImages en tant qu'attribut dans Core Data. Les données d'image sont converties vers et depuis une instance NSData qui contient la représentation PNG de l'image. Tout cela est géré de manière transparente pour vous par un NSValueTransformer personnalisé.

Vous pouvez également souhaiter chiffrer des attributs individuels dans votre modèle de données de base, comme I décrire ici . L'utilisation d'un attribut transformable pour cela rend cela trivial à coder.

77
Brad Larson