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 单个成功块的主要内容,如果未能解决你的问题,请参考以下文章