1

我正在关注 RestKit 0.2.0 上的Alexander Edge 教程,但我对如何将其应用于我的需求感到困惑。具体来说,我正在使用一个 Web 服务,它返回以下结构的对象:

{
    "ObjectIdMember": 200,
    "ObjectNameMember": "Baseball Bat",
    "SubObjectIdMember": 4124
},
{
    "ObjectIdMember": 200,
    "ObjectNameMember": "Baseball Glove",
    "SubObjectIdMember": 4555
},

这个想法是一个Object实体可以有许多子对象。粗略地说,获取 的目的Object是使用DisplayName来填充表格视图中的节标题,并按对象对节中的子对象进行分组。

如何使用 RestKit + Core Data 捕获这种关系(或定义它)?本教程仅建议在响应中定义了子对象时您可能会做什么,但这是另一种情况。

我知道我可以只装饰和使用Objectwith 的子类-(NSArray *)getSubObjects,但 Core Data 不会意识到我在做什么,因为这不会使用任何关系。

4

1 回答 1

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" }];
于 2013-07-10T01:52:31.303 回答