Я struggeling немножко со следующими JSON Я пытаюсь отобразить в структуру объекта:Вложенный Отображение объектов с использованием RestKit
- Group
+ label
+ type
+ children
- childname1
+ label
+ type
+ value
- childname2
+ label
+ type
+ value
Я есть Group
класс
@interface CameraGroup : NSObject
@property (nonatomic, copy) NSString *label;
@property (nonatomic, copy) NSString *type;
@property (nonatomic, copy) NSDictionary *children;
@end
и Child
класс
@property (nonatomic, copy) NSString *label;
@property (nonatomic, copy) NSString *type;
@property (nonatomic, copy) NSString *value;
Моя JSON выглядит следующим образом:
{
"actions": {
"label": "Action List",
"type": "section",
"children": {
"action1": {
"label": "This is action1",
"type": "toggle",
"value": 0
},
"action2": {
"label": "This is action2",
"type": "range",
"value": 0
},
"action3": {
"label": "This is action3",
"type": "toggle",
"value": 0
}
}
}
}
Я пытаюсь создать единый объект группы, содержащий NSDictionary (дети) с парами действий с ключом (например, action1 = ключ и дочерний объект метки, типа и значения) с помощью RestKit.
Я использую следующий фрагмент кода, но всегда в конечном итоге с Зингель, пустой объект ребенок:
RKObjectMapping *mappingChild = [RKObjectMapping mappingForClass:[Child class]];
[mappingSetting addAttributeMappingsFromDictionary:@{
@"label": @"label",
@"type": @"type",
@"value": @"value"
}];
RKObjectMapping *mappingGroup = [RKObjectMapping mappingForClass:[Group class]];
[mappingGroup addAttributeMappingsFromDictionary:@{
@"label": @"label",
@"type": @"type"
}];
[mappingGroup addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"children" toKeyPath:@"children" withMapping:mappingSetting]];
NSIndexSet *statusCodes = RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful);
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:mappingGroup method:RKRequestMethodAny pathPattern:@"/action" keyPath:@"actions" statusCodes:statusCodes];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://192.168.178.1:1337/actions"]];
RKObjectRequestOperation *operation = [[RKObjectRequestOperation alloc] initWithRequest:request responseDescriptors:@[responseDescriptor]];
[operation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *result) {
Group *group = [result firstObject];
NSLog(@"Mapped the group: %@ of type %@ with children %i", article.label, article.label, [group.children count]);
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
NSLog(@"Failed with error: %@", [error localizedDescription]);
}];
[operation start];
Так есть ли способ, как Сопоставьте часть NSDictionary фактически не зная, что «действие1» назван " действие1" ??
Есть ли у вас какие-либо идеи, как это отображение может быть инвертированием? – reVerse
нет, извините, но не было на эту тему, так как – Alx