Restkit - 我如何添加优先级操作?

Posted

技术标签:

【中文标题】Restkit - 我如何添加优先级操作?【英文标题】:Restkit - how can i add an operation with priority? 【发布时间】:2014-12-08 10:36:42 【问题描述】:

我正在使用 RESTKit,我看到操作队列使用支持优先级的 NSOperationQueue。

问题是,RKObjectManager 没有添加优先操作的方法。而且我不想更改 pod 文件中的实现。

我正在查看“getObjectsAtPath”。在里面,有“RKObjectRequestOperation”,我可以分配“SetQueuePriority” - 但同样,这正在改变第 3 方代码。

有什么方法可以在我的代码中做到这一点?

谢谢!

【问题讨论】:

我可以继承对象管理器并支持它。但我不确定这是否是有意的 我是手动实现的,可惜没有使用已经写好的restkit对象管理器。 您找到解决方案了吗?我正是你要找的东西 @Raj 是的,我扩展了 RKObjectManager 并从那里复制了逻辑,并添加了支持。遗憾的是,没有内置支持优先级 你是从 GitHub Restkit 派生出来让我看看吗? 【参考方案1】:

我通常不建议您更改优先级。如果您需要控制下载的整体顺序,那么您应该在 RestKit 之外控制它,并可能从完成块触发下一次下载。

也就是说,如果您确实想这样做,那么您可以在RKObjectManager 上使用appropriateObjectRequestOperationWithObject:method:path:parameters:enqueueObjectRequestOperation:

【讨论】:

我有应该以低优先级并行运行的后台操作。所以我别无选择。您的解决方案让我在 RKObjectManager 中重写已经编写的代码

以上是关于Restkit - 我如何添加优先级操作?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改android服务的优先级(好值)?

如何在简单语法中添加括号作为最高优先级?

如何避免优先级队列中的饥饿

如何在 Visual Studio 中添加高优先级 TODO 注释?

EF数据库优先方法如何将新的非空列添加到生产表并在代码级别进行管理

使用 RestKit 和 RKObjectManager 时如何添加一些默认参数?