如何在 RestKit 中请求托管对象而不将其写回托管对象上下文?
Posted
技术标签:
【中文标题】如何在 RestKit 中请求托管对象而不将其写回托管对象上下文?【英文标题】:How can I request a managed object in RestKit without it writing it back to the Managed Object Context? 【发布时间】:2013-09-27 10:24:06 【问题描述】:我正在为一个 ios 应用编写登录序列,并且我正在使用以下路径来请求用户信息:
"profiles/:email" (RKRequestMethodGET)
不幸的是,我还必须使用此路径来检查某个电子邮件地址是否也已被占用。
我的问题是,当我已经为该路径设置了实体响应映射时,如何防止 RestKit 将 Account 对象更新/插入到托管对象存储中?有没有办法告诉 RK 请求不应该对托管对象存储进行任何映射,但仍向我报告已成功映射?
【问题讨论】:
【参考方案1】:不是真的。
您可能有 2 个不同的 RKObjectManager
实例,其中 1 个用于 Core Data 并实际更新和管理用户。另一个在没有 Core Data 的情况下使用,仅用于验证。这允许 2 个不同的对象管理器具有不同的响应描述符。
另一种方法是根据您提出的请求添加和删除响应描述符。但是,这很混乱,并且可能容易出错。
【讨论】:
最后我让在线API供应商制作了一个单独的路径来验证电子邮件地址。至少出于安全原因,接收已经存在的用户的完整用户信息并不好。我认为您的第一个解决方案也会起作用。由于并发请求,第二个可能不正确。以上是关于如何在 RestKit 中请求托管对象而不将其写回托管对象上下文?的主要内容,如果未能解决你的问题,请参考以下文章
请求 addValue: forHTTPHeaderField 获取令牌但不将其发送到 RestKit 中的服务器
jQuery:如何在事件处理函数中获取事件对象而不将其作为参数传递?