Objective c 将通过web服务上载到磁盘的项目持久化
我有一个启动守护程序,它经常使用NSOperationQueue通过web服务上传一些数据 我需要能够持久保存这些数据,以便在出现故障时,甚至在会话之间(例如,在计算机关闭的情况下),可以重新上载这些数据 这不是一个高负载应用程序,它可能每分钟间歇性接收的项目不超过1或2个,通常间隔几个小时 在没有这种持久性的情况下,我的初始实现如下所示:Objective c 将通过web服务上载到磁盘的项目持久化,objective-c,cocoa,thread-safety,persistence,Objective C,Cocoa,Thread Safety,Persistence,我有一个启动守护程序,它经常使用NSOperationQueue通过web服务上传一些数据 我需要能够持久保存这些数据,以便在出现故障时,甚至在会话之间(例如,在计算机关闭的情况下),可以重新上载这些数据 这不是一个高负载应用程序,它可能每分钟间歇性接收的项目不超过1或2个,通常间隔几个小时 在没有这种持久性的情况下,我的初始实现如下所示: 守护进程接收数据 守护进程将数据解析为MyDataObject类型的对象 守护进程创建NSOperation子类的实例,将MyDataObject作为要上载
有人能给我指出正确的方向吗?您可以为每个项目添加两个操作。第一个将项目存储到本地存储,第二个将依赖于第一个,并在成功时从本地存储中删除项目
然后,当您想要从本地存储恢复任何项目时,您只创建存储到云操作,而不创建存储本地操作。如前所述,它们仅在成功时才从本地存储中删除项目,如果不成功,则将项目保留在本地存储中以供下次尝试。您可以为每个项目添加两个操作。第一个将项目存储到本地存储,第二个将依赖于第一个,并在成功时从本地存储中删除项目 然后,当您想要从本地存储恢复任何项目时,您只创建存储到云操作,而不创建存储本地操作。与以前一样,只有成功才能从本地存储中删除项目,如果不成功,则将项目保留在本地存储中以供下次尝试