我的目标是用 RestKit 实现一对多和多对一的关系连接。我使用的是 0.20pre6 版本。此页面http://restkit.org/api/0.20.0/Classes/RKConnectionDescription.html#overview报告了一半示例。第一个例子是多对一。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" }];
我第一次尝试时错过的事情是 userID 也需要在实体中。否则它将无法正常工作。我真的不明白为什么......无论如何它有效。
我的问题与第二个例子有关,它是一对多的。json示例:
{ "project":
{ "id": 12345,
"name": "My Project",
"userID": 1,
"teamMemberIDs": [1, 2, 3, 4]
}
}
代码:
NSEntityDescription *projectEntity = [NSEntityDescription entityForName:@"Project" inManagedObjectContext:managedObjectContext];
NSRelationshipDescription *teamMembers = [projectEntity relationshipsByName][@"teamMembers"]; // To many relationship for the `User` entity
RKConnectionDescription *connection = [[RKConnectionDescription alloc] initWithRelationship:teamMembers attributes:@{ @"teamMemberIDs": @"userID" }];
现在... teamMemberIDs 需要像前面示例中的 userID 一样位于实体定义中。以下是我的问题:
- 我如何定义 teamMemberIDs,因为它是一个值数组?
- 有关于这件事的工作示例吗?RestKit 库中的示例目录仅显示嵌套关系。
- 我做得对吗?我错过了什么大事吗?