我正在关注RestKit 0.2.0上的Alexander Edge tutorial,但我对如何将其应用于我的需求感到困惑。具体来说,我正在使用以下结构返回对象的Web服务:
{
"ObjectIdMember": 200,
"ObjectNameMember": "Baseball Bat",
"SubObjectIdMember": 4124
},
{
"ObjectIdMember": 200,
"ObjectNameMember": "Baseball Glove",
"SubObjectIdMember": 4555
},
这个想法是Object
实体可以有许多子对象。粗略地说,获取Object
的目的是使用DisplayName
填充表视图中的节标题,并按对象分组子对象。
如何使用RestKit + Core Data捕获这种关系(或定义它)?本教程仅建议在响应中定义了子对象时可能会执行的操作,但这是另一种情况。
我知道我可以装饰并使用Object
的子类-(NSArray *)getSubObjects
,但是核心数据不知道我在做什么,因为它不会使用任何关系。
答案 0 :(得分:1)
我相信你想要的是RKConnectionDescription,它可以使用外键在Core Data中建立关系。
文档中的示例给出了以下json:
{ "project":
{ "id": 12345,
"name": "My Project",
"userID": 1
}
}
使用以下映射配置:
NSEntityDescription *projectEntity = [NSEntityDescription entityForName:@"Project" inManagedObjectContext:managedObjectContext];
NSRelationshipDescription *userRelationship = [projectEntity relationshipsByName][@"user"];
RKConnectionDescription *connection = [[RKConnectionDescription alloc] initWithRelationship:userRelationship attributes:@{ @"userID": @"userID" }];