Ich versuche, RestKit in meiner App zu verwenden, und verwende derzeit Master auf GitHub als ein Git-Submodul. Das Ganze ist installiert und läuft. Allerdings, wenn ich versuche, JSON-Daten aus meiner Rails-Anwendung zu bekommen, erhalte ich eine BAD_EXC_ACCESS auf RestKit, genauer gesagt auf RKObjectLoader.m, Linie 365.Ich versuche, Restkit unter iOS zu verwenden - XCode
if ([_delegate respondsToSelector:@selector(request:didLoadResponse:)]) {
[_delegate request:self didLoadResponse:_response];
}
nicht sicher, was hier vor sich geht, aber soll ich übernehmen Es ist ein Problem mit Restkit? Hier
ist, was ich versuche zu tun:
-(id) init {
self = [super init];
if (self) {
RKObjectMapping* patientMapping = [RKObjectMapping mappingForClass:[Patient class]];
[patientMapping mapKeyPath:@"id" toAttribute:@"identifier"];
[patientMapping mapKeyPath:@"first_name" toAttribute:@"first_name"];
[patientMapping mapKeyPath:@"middle_initial" toAttribute:@"middle_initial"];
[patientMapping mapKeyPath:@"last_name" toAttribute:@"last_name"];
[patientMapping mapKeyPath:@"email" toAttribute:@"email"];
[patientMapping mapKeyPath:@"password_hint_question" toAttribute:@"password_hint_question"];
[patientMapping mapKeyPath:@"password_hint_answer" toAttribute:@"password_hint_answer"];
[[RKObjectManager sharedManager].mappingProvider setMapping:patientMapping forKeyPath:@"patients"];
}
return self;
}
- (void)loadAll {
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/ios_patient.json" delegate:self];
}
Also im Grunde instanziiert ich diese Klasse und rufen loadall. Mein ios_patient.json gibt den folgenden JSON-Code zurück:
{"patients": [{"id": 1, "first_name": "John", "last_name": "Appleseed", "email": "[email protected]"}]}
Jede Hilfe würde sehr geschätzt werden.
Sie können NSZombieEnabled aktivieren, um mehr über den Absturz zu erfahren, oder malloc_history mit Prozess-ID verwenden. –
Objective-C-Variablen werden normalerweise in camel case genannt, für das, was es wert ist. Daher sollten Sie überprüfen, ob Ihre "first_name" -Variable als "NSString * firstName" definiert ist und dass Ihre Zuordnung "[patientMapping mapKeyPath: @" firstName "toAttribute: @" first_name "];" –
Auch, 1. Sind Sie sicher, dass Sie Ihren Delegierten nicht freigegeben haben? 2. Verwenden Sie ARC? 3. Haben Sie die RKObjectLoader-Delegate-Methoden implementiert (Anfrage: didLoadResponse :)? –