Ios 在不同的对象上调用savefinally-它们是否以相同的顺序保存?
我在我的解析驱动的应用程序中使用savefinally,这样,如果连接出现问题,我的应用程序仍能正常工作 我在文档中看到,它说您可以对单个对象多次调用savefinally,并且save操作按调用顺序排队Ios 在不同的对象上调用savefinally-它们是否以相同的顺序保存?,ios,parse-platform,Ios,Parse Platform,我在我的解析驱动的应用程序中使用savefinally,这样,如果连接出现问题,我的应用程序仍能正常工作 我在文档中看到,它说您可以对单个对象多次调用savefinally,并且save操作按调用顺序排队 我需要先保存一个对象,然后保存另一个对象。在这种情况下,我是否也可以依赖于这些操作排队,以便第二个对象始终保存在第一个对象之后?如果我有100个对象并逐个调用savefinally,它会继续正确排队吗?不总是这样。它们不能保证以相同的顺序保存,但您始终可以这样做,以确保object1之后保存o
我需要先保存一个对象,然后保存另一个对象。在这种情况下,我是否也可以依赖于这些操作排队,以便第二个对象始终保存在第一个对象之后?如果我有100个对象并逐个调用savefinally,它会继续正确排队吗?不总是这样。它们不能保证以相同的顺序保存,但您始终可以这样做,以确保object1之后保存object2
[object1 saveEventually:^(BOOL succeeded, NSError *error) {
[object2 saveEventually];
}];
或者类似于:
[object1 saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
[object2 saveInBackground];
}];
唯一的问题是,如果在应用程序终止之前,
savefinally
调用没有完成,它将在下次运行应用程序时重试,但没有成功块,因此object2
可能永远无法保存。@TimothyWalters这听起来是个严重的问题。你在哪里听到的?另外,你知道有什么解决方案吗?它出现在旧的帮助论坛上,但是如果你想一想,在应用程序关闭后,不支持完全保存类似的状态。完成块只应用于更新UI,不应包含savefinally
的更多核心逻辑,另一种方法是使用saveInBackground
和您自己的重试逻辑,并保存对象,以便在应用程序重新启动前无法完成时可以重试。@Timothy谢谢