Ceci est une ancienne révision du document !
====== Mapper des données imbriguées ====== ===== cas d'usage ===== Soit le contenu XML suivant : <code xml> <EntiteMaitre> <attr1>Valeur attr1</attr1> <EntiteFille> <AttrEntiteFille>Valeur 1</AttrEntiteFille> <AttrEntiteFille>Valeur 2</AttrEntiteFille> <AttrEntiteFille>Valeur 3</AttrEntiteFille> </EntiteFille> </EntiteMaitre> </code> On souhaite parser ce contenu et en intégrer les données dans des entités Coredata pour gérer un cache local. La récupération des données imbriquées n'est pas aussi simple qu'elle en a l'air avec Restkit. Du moins n'ai-je pas trouvé de moyen simple... En effet, dans l'objet //EntiteFille//, il n'existe pas de moyen d'identifier chacun des attributs. //EntiteFille// est une collection d'objets non identifiés rattachés à //EntiteMaitre//. ===== Proposition de solution ===== ==== Dans Coredata ==== On crée une entité //EntiteMaitre// à laquelle on associe un attribut //EntiteFille// de type [[https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdNSAttributes.html|transformable]]. Une fois générée sous la forme de NSManagedObject, la classe présente la forme suivante : <code objc> @interface EntiteMaitre : NSManagedObject @property (nonatomic, retain) id EntiteFille; @end </code> ==== Mapping avec Restkit ====