Mehrere meiner Objekte haben das Feld "ID" und RestKit wird nicht zulassen, dass ich beide auf den gleichen Namen zuordnen. Wie kann ich das beheben? Für diese beiden Objekte habe ich ein entsprechendes serverseitiges Objekt mit der Eigenschaft MyId, die ausgefüllt werden muss. Ich möchte die Eigenschaften nicht als Lösung benennen müssen. HierRestkit Kann Zuordnung für KeyPath nicht hinzufügen
ist ein Beispiel für zwei Klassen I verwenden:
@interface MyObject : NSObject
@property NSNumber *id;
@end
@interface AnotherObject : NSObject
@property NSNumber *id;
@end
Hier ist ein Beispiel für den Code, den ich auf diese beiden Objekte laufen würde:
RKObjectManager* objectManager = [RKObjectManager managerWithBaseURL:url];
RKObjectMapping *userMapping = [RKObjectMapping requestMapping];
NSDictionary *objMapping = @{@"id": @"MyId"};
[userMapping addAttributeMappingsFromDictionary:objMapping];
RKRequestDescriptor *requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:userMapping objectClass:[MyObject class] rootKeyPath:nil method:RKRequestMethodPOST];
[objectManager addRequestDescriptor:requestDescriptor];
objMapping = @{@"id": @"MyId"};
[userMapping addAttributeMappingsFromDictionary:objMapping];
requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:userMapping objectClass:[AnotherObject class] rootKeyPath:nil method:RKRequestMethodPOST];
[objectManager addRequestDescriptor:requestDescriptor];
Hier ist der Fehler dass ich bekommen würde:
Beenden App aufgrund der nicht abgefangenen Ausnahme 'NSInternalInconsistencyException', Grund: 'Kann Zuordnung für keyPath MyId nicht hinzufügen, eine existiert bereits ...'
Ich denke, Ihre Beurteilung der Frage ungenau ist - zeige die Definition von 'MyObject' und erkläre genau, was du machst, wenn du die Ausnahme bekommst (zeige den Stack-Trace) – Wain
Aktualisierte den Beitrag, um genauer zu sein. – HawkEye1194
Danke für die Hilfe! Kennst du auch irgendwelche Webseiten für gute RestKit Tutorials? Relativ neu dazu. Ich kenne das RestKit GitHub Tutorial schon, aber ich frage mich, ob es mehr gibt. – HawkEye1194