Iphone 热插拔持久存储文件
我想在应用程序运行时替换支持我的托管对象的文件。我的问题与类似,但我还有一个小小的额外挑战。我想在相同的位置替换文件,即完全相同的路径和文件名 这个问题的答案建议重建整个持久性堆栈。我同意这一点。然而,我对时机没有信心。作为一个额外的复杂性,我可能有其他线程试图访问托管对象。我知道,我不该这么做。哎呀。我发现太晚了,现在它在我的应用程序架构中已经根深蒂固,所以不要建议改变它。我通常依靠锁来保证它的安全,但在这种情况下有点棘手 所以,我认为我们需要做这些事情,不一定要按这个顺序:Iphone 热插拔持久存储文件,iphone,core-data,Iphone,Core Data,我想在应用程序运行时替换支持我的托管对象的文件。我的问题与类似,但我还有一个小小的额外挑战。我想在相同的位置替换文件,即完全相同的路径和文件名 这个问题的答案建议重建整个持久性堆栈。我同意这一点。然而,我对时机没有信心。作为一个额外的复杂性,我可能有其他线程试图访问托管对象。我知道,我不该这么做。哎呀。我发现太晚了,现在它在我的应用程序架构中已经根深蒂固,所以不要建议改变它。我通常依靠锁来保证它的安全,但在这种情况下有点棘手 所以,我认为我们需要做这些事情,不一定要按这个顺序: 锁定旧的持久存
- 锁定旧的持久存储
- 将新文件复制到我用于持久存储的路径中
- 创建一个新的持久性堆栈
- 释放旧的持久性存储以及与之关联的所有托管对象
- 解锁旧的持久存储