Как сопоставить вложенный json ниже с помощью RestKit RKObjectMapping? Мне нужно только отобразить «данные». Мой текущий код ниже возвращает (null) - Спасибо!RestKit RKObjectMapping inested json
{
"sucess": true,
"error": {
"code": "",
"message": ""
},
"data": [
{
"id": 1,
"name": "Salad",
"description": "Salad Desc",
"category_id": 1
},
{
"id": 2,
"name": "Soup",
"description": "Soup Desc",
"category_id": 1
},
{
"id": 3,
"name": "Wrap",
"description": "Wrap Desc",
"category_id": 1
},
{
"id": 4,
"name": "Appetizers",
"description": "Appetizers Desc",
"category_id": 1
}
]
}
Класс
@interface Subcategory : NSObject
@property (nonatomic, retain) NSNumber *subcategoryID;
@property (nonatomic, retain) NSNumber *categoryID;
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *description;
@property (nonatomic, retain) NSString *thumbnail;
@property (nonatomic, retain) NSArray *data;
ViewController
RKObjectMapping* mapping = [RKObjectMapping mappingForClass:[Subcategory class]];
RKObjectMapping* dataMapping = [RKObjectMapping mappingForClass:[Subcategory class]];
[dataMapping mapKeyPath:@"id" toAttribute:@"subcategoryID"];
[dataMapping mapKeyPath:@"category_id" toAttribute:@"categoryID"];
[dataMapping mapAttributes:@"name", @"description", nil];
[mapping mapKeyPath:@"data" toRelationship:@"data" withMapping:dataMapping];
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:[NSString stringWith
для пользы других, https://github.com/RestKit/RestKit/wiki/Object-mapping большой ресурс, чтобы начать с, когда его приходит к отображению объектов RK. –
Быстрый вопрос, я не гуру ObjC, но мне сказали, что свойства NSString должны быть «копировать», а не «сохранять», но я вижу, что свойства NSString сохраняются в целом ряде проектов с открытым исходным кодом и сообщений здесь - есть ли причина @steamboy для использования «сохранить» в этом случае? – powerj1984