Làm thế nào tôi có thể ánh xạ json lồng nhau bên dưới với RestKit RKObjectMapping? Tôi chỉ cần ánh xạ "dữ liệu". Mã hiện tại của tôi dưới đây trả về (null) - Cảm ơn!RestKit RKObject Lập bản đồ james lồng nhau
{
"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
}
]
}
Lớp
@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
Vì lợi ích của người khác, https://github.com/RestKit/RestKit/wiki/Object-mapping là một nguồn lực tuyệt vời để bắt đầu khi nó đến bản đồ đối tượng RK. –
Câu hỏi nhanh, tôi không phải là một chuyên gia về ObjC nhưng tôi đã nói rằng các thuộc tính NSString phải là 'copy' không 'giữ lại', nhưng tôi thấy các thuộc tính NSString được giữ lại trong một vài dự án nguồn mở và các bài viết trên đây - có một lý do @steamboy để sử dụng 'giữ lại' trong trường hợp này? – powerj1984