核心数据关系未与RESTkit进行映射
我正努力使用RESTkit 0.20.0-pre6来获得核心数据关系的正确映射。
我想映射这个JSON:
{ "items" : [ {"id" : 2001, "itemAttr1" : "..."}, ...<more items>... ], "rooms": [ {"id" : 3001, "items": [2001, ...<more item id's>...] }
到相应的核心数据模型:
Entity ItemMO (Attributes "id", "itemAttr1", Relationship "room" to RoomMO) Entity RoomMO (Attributes "id", Relationship "items" to ItemMO)
属性映射正常,但关系是空的。
我已经尝试使用这里描述的RKConnectionDescription
,使用这个代码:
NSEntityDescription *roomEntity = [NSEntityDescription entityForName:@"RoomMO" inManagedObjectContext:self.context]; NSRelationshipDescription *itemsInRoom = [roomEntity relationshipsByName][@"items"]; RKConnectionDescription *connection = [[RKConnectionDescription alloc] initWithRelationship:devicesInRoom keyPath:@"devices"]; [roomMapping addConnection:connection];
我也尝试使用一个简单的RKRelationshipMapping
无济于事:
[itemMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:nil toKeyPath:@"room" withMapping:roomMapping]];
我必须错过一些简单的东西,因为这不应该是RESTkit的一个特例。 有任何想法吗?
我得到了它的工作。 诀窍是在ItemMO上为外键添加一个额外的属性“roomId”。
Entity ItemMO (Attributes "id", "roomId", "itemAttr1", Relationship "room" to RoomMO)
然后告诉RESTkit有关系:
[itemMapping addConnectionForRelationship:@"room" connectedBy:@{@"roomId" : @"id"}];
好像RESTkit不能在没有额外的外键属性的情况下build立关系。
- Xcode应用程序不释放内存
- iPhone核心数据“自动轻量级迁移”
- NSFetchedResultsController XCode 7问题
- Swift 3核心数据删除对象
- 在我的TableView中实现一个SearchBar,并使用NSFetchedResultsController和适当的谓词来使search工作
- 用新的数据Swift更新UITableView
- Mogenerator和Xcode 4的优点/缺点
- 首次启动时重置核心数据
- xcodebuild:cdtool无法编译:DataModelCompile /path/to/coredatamodel.xcdatamodeld dyld:找不到符号:_OBJC_CLASS _ $ _ OS_object