RestKit 单个成功块

Posted

技术标签:

【中文标题】RestKit 单个成功块【英文标题】:RestKit single success block 【发布时间】:2013-05-27 22:24:44 【问题描述】:

我使用单例 RKObjectManager 在我的应用程序周围的许多地方调用对象请求(即“postObject:path:parameters:success:failure:”)。

我可以制作一个单独的块来作为每个调用的成功块吗? (避免代码重复)

我尝试将 RKObjectManager 子类化,但找不到正确的覆盖方法。

【问题讨论】:

【参考方案1】:

将块存储为实例变量,可以从您进行 RKObjectManager 调用的位置引用。

void (^callback)(RKObjectRequestOperation * operation, RKMappingResult * mappingResult);

这定义了一个名为“回调”的块,它返回 void 并接受两个参数。使用以下代码对其进行初始化:

callback = ^(RKObjectRequestOperation * operation, RKMappingResult * mappingResult) 
  // Your completion code here
;

现在您可以通过使用变量名称“回调”作为成功块参数,在您的发布请求中重用此块代码。

【讨论】:

这可能是一个选择。但是仍然需要在每个请求中显式调用回调。没有更优雅的方式吗?似乎很奇怪,没有方法可以覆盖来实现这一点。 我没有找到任何可以让你设置默认成功块的东西。另一种选择是在您自己的具有预定义块的单例中编写函数 postObject:path:parameters。但是,这类似于实例变量选项。 是的,这也意味着我还必须编写所有相关的方法。 (getObject:..、deleteObject:...等)

以上是关于RestKit 单个成功块的主要内容,如果未能解决你的问题,请参考以下文章

通过 RestKit 使用单个字符串元素列表解析 JSON

在 Restkit 中使用块(如 ASIHttpRequest 块)

RestKit – 使用关系映射将单个源映射到多个目的地

在 Restkit 中映射单个 JSON 对象时出错

在 Restkit 中映射单个 JSON 对象时出错

RestKit映射成功后如何访问对象