[PROJET] - 2 relations nappées avec RestKit
KRM
Membre
Bonjour,
Voilà pour mon projet j'utilise RestKit avec des services Restful. Lorsque je mappe une entité sans relation, aucun problème.
Par contre, maintenant je cherche à recevoir une entité qui a une relation. je vous mets mon code ci-dessous:
est-ce que quelqu'un peut m'aider?
Merci d'avance
Voilà pour mon projet j'utilise RestKit avec des services Restful. Lorsque je mappe une entité sans relation, aucun problème.
Par contre, maintenant je cherche à recevoir une entité qui a une relation. je vous mets mon code ci-dessous:
<br />
//<br />
// ViewControllerData.m<br />
// culturalnetwork<br />
//<br />
// Created by Adrienne Villar on 31.07.12.<br />
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.<br />
//<br />
#import "ViewControllerData.h"<br />
#import "Data.h"<br />
#import "CompositeCard.h"<br />
@interface ViewControllerData ()<br />
@end<br />
@implementation ViewControllerData<br />
<br />
- (void)loadTimeline {<br />
// Charger le modèle via RestKit<br />
RKObjectManager* objectManager = [RKObjectManager sharedManager];<br />
objectManager.client.baseURL = [RKURL URLWithString:@"http://localhost:8080/CulturalNetworksMuseumServer/resources"];<br />
[objectManager loadObjectsAtResourcePath:@"/artifactcards" delegate:self];<br />
}<br />
<br />
- (void)viewDidLoad<br />
{<br />
[super viewDidLoad];<br />
<br />
<br />
RKLogConfigureByName("RestKit/Network*", RKLogLevelTrace);<br />
RKLogConfigureByName("RestKit/ObjectMapping", RKLogLevelTrace);<br />
<br />
// Initialisation de RestKit<br />
RKObjectManager* objectManager = [RKObjectManager managerWithBaseURLString:@"http://localhost:8080/CulturalNetworksMuseumServer/resources"];<br />
<br />
// Active la gestion automatique de l'indicateur de l'activité réseau<br />
objectManager.client.requestQueue.showsNetworkActivityIndicatorWhenBusy = YES;<br />
<br />
//Configuration du mappage de l'objet CompositeCard<br />
RKObjectMapping* compositeMapping = [RKObjectMapping mappingForClass:[CompositeCard class]];<br />
[compositeMapping mapKeyPath:@"id" toAttribute:@"cc_id"];<br />
[compositeMapping mapKeyPath:@"name" toAttribute:@"cc_name"]; <br />
<br />
//[[objectManager mappingProvider] setObjectMapping:compositeMapping forKeyPath:@"/compositecards"];<br />
<br />
//Configuration du mappage de l'objet Data<br />
RKObjectMapping * dataMapping = [RKObjectMapping mappingForClass:[Data class]];<br />
[dataMapping mapKeyPath:@"id" toAttribute:@"ac_id"];<br />
[dataMapping mapKeyPath:@"file" toAttribute:@"ac_file"];<br />
[dataMapping mapKeyPath:@"typefile" toAttribute:@"ac_typefile"];<br />
[dataMapping mapKeyPath:@"author" toAttribute:@"ac_author"];<br />
[dataMapping mapKeyPath:@"title_topic" toAttribute:@"ac_title_topic"];<br />
[dataMapping mapKeyPath:@"year" toAttribute:@"ac_year"];<br />
[dataMapping mapKeyPath:@"technical" toAttribute:@"ac_technical"];<br />
[dataMapping mapKeyPath:@"support_media" toAttribute:@"ac_support_media"];<br />
[dataMapping mapKeyPath:@"format" toAttribute:@"ac_format"];<br />
[dataMapping mapKeyPath:@"owner" toAttribute:@"ac_owner"];<br />
[dataMapping mapKeyPath:@"collection" toAttribute:@"ac_collection"];<br />
[dataMapping mapKeyPath:@"descritpion_remarks" toAttribute:@"ac_descritpion_remarks"];<br />
[dataMapping mapKeyPath:@"compositeCard" toRelationship:@"ac_compositeCard" withMapping:compositeMapping];<br />
<br />
<br />
// Permet de mapper l'objet artifactCard avec la source de ce dernier<br />
[objectManager.mappingProvider setObjectMapping:dataMapping forResourcePathPattern:@"/artifactcards"];<br />
//[[objectManager mappingProvider] addObjectMapping:dataMapping];<br />
<br />
NSString * test = @"Mappage dans la View Controller";<br />
NSLog(@"%@",test);<br />
<br />
// appel de la fonction qui charge le modèle<br />
[self loadTimeline];<br />
}<br />
#pragma mark RKObjectLoaderDelegate methods<br />
- (void)request:(RKRequest *)request didLoadResponse:(RKResponse *)response<br />
{<br />
NSLog(@"Loaded payload: %@", [response bodyAsString]);<br />
} <br />
/**<br />
** Permet de charger la liste des adresses provenant des services Rest sous forme de tableau<br />
** Remplir le tableau _addresses (local) avec le tableau d'objects<br />
** Mettre à jour la TableView<br />
**/<br />
- (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObjects:(NSArray*)objects {<br />
NSLog(@"Load collection of ArtifactCards: %@", objects);<br />
_data = [NSArray arrayWithArray:objects];<br />
[_tableView reloadData];<br />
}<br />
- (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error {<br />
UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Error" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];<br />
[alert show];<br />
NSLog(@"Hit error: %@", error);<br />
}<br />
- (void)viewDidUnload<br />
{<br />
[super viewDidUnload];<br />
// Release any retained subviews of the main view.<br />
}<br />
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation<br />
{<br />
return (interfaceOrientation == UIInterfaceOrientationPortrait);<br />
}<br />
@end<br />
est-ce que quelqu'un peut m'aider?
Merci d'avance
Connectez-vous ou Inscrivez-vous pour répondre.