我使用的是最新的Restkit 0.20.3
RestKit映射非托管对象
目前,我创建像这样我的管理映射:
RKEntityMapping *messagesAddedMapping = [RKEntityMapping mappingForEntityForName:@"Message" inManagedObjectStore:[RKObjectManager sharedManager].managedObjectStore];
但是,如果我想创造一个映射,它不保存这个实体是什么核心数据?
如果我做的:
RKEntityMapping *messagesAddedMapping = [RKEntityMapping mappingForClass:[Message class]];
我得到一个错误:
'NSInternalInconsistencyException', reason: 'You must provide a managedObjectStore. Invoke mappingForClass:inManagedObjectStore: instead.'
我需要一种方法来使API调用来获取数据,然后进行映射,并在成功块我必须手动执行一些操作并手动将实体保存到核心数据。
我的问题是,我有一个Message
实体,我通常只是添加消息,新邮件到达,但新的API,我将要消耗有3个属性:messagesToAdd
[消息数组],messagIdsToRemove
[字符串数组] ,messagesModified
[消息数组]。
所以,我创建一个新的对象MessagePayload
其中有2个关系:messagesAdded
(Message
)和messagesModified
(Message
),也有messageIdsToDelete
(transformable
)。对于MessagePayload
,我不希望它存储任何它。在成功块中,我只想添加新消息,更新修改的消息,并从删除列表中删除。
我的问题是,我有一个消息实体,我通常只是添加消息,因为新消息到达,但我将要消费的新API有3个属性:messagesToAdd [消息数组],messagIdsToRemove [字符串数组], messagesModified [消息数组]。所以我创建了一个新的对象MessagePayload,它具有2个关系:messagesAdded(Message)和messagesModified(Message),还有messageIdsToDelete(Transformable)。 – Jesse
而对于messagePayload,我不希望其中存储任何内容。在成功块中,我只想添加新消息,更新修改的消息,并从删除列表中删除。 – Jesse
实际上是Wain,在输入我上面的评论之后,我想了一下,我认为如果messagesAdded和messagesModified像你说的那样映射为新的子响应描述符,那么它将处理添加/删除以及删除我可以只需在成功块中完成。谢谢!我认为这会工作得很好,而且更容易! – Jesse