Rubymotion的后台工作

时间:2013-07-04 15:04:19

标签: rubymotion

我正在使用Rubymotion构建iOS应用。 我需要找到一种在我的应用程序中创建和运行“后台作业”(如Resque)的方法。 我的意思是,当用户例如添加一个新任务,而不是直接发送到服务器时,我想等待互联网连接良好。

是否有宝石或解决方案?

感谢所有线索!

1 个答案:

答案 0 :(得分:3)

如果您希望获得类似后台工作的内容,可以查看NSQueueOperationNSOperation

基本上NSQueueOperation就像一个包含NSOperation的容器。

NSOperation是一种工作。但是没有持久性。因此,如果NSOperations在NSQueueOperation中排队,并且重新启动应用程序,则NSQueueOperation将为空。

但在你的情况下,它可能有点矫枉过正。相反,您应该听取可达性通知。您可以使用Apple's implemtationthis one(功能更强大)。当您的设备上线时,请获取您的远程服务尚未创建/更新的项目列表。您可以通过查找他们的id或任何其他可用于确定其状态的标志来找到它们。

例如,如果某条记录还没有任何ID,则表示尚未在您的远程服务上创建该记录。同样,您可以使用updated(Boolean)属性来了解是否必须在远程服务上更新对象。

对于他们每个人,对您的api进行HTTP调用,一旦您的请求完成,请更新您的对象以反映更改(设置ID,删除您的标志等...)

希望有所帮助