[PROJET] - 2 relations nappées avec RestKit
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.