【发布时间】:2011-10-30 22:34:37
【问题描述】:
我正在使用NSCoding 对我的对象进行编码并将它们作为“缓存”功能保存到磁盘,而不必在每次启动我的应用程序时下载数据。现在我将这些数据保存在应用程序的 Documents 文件夹中,更新应用程序时不会删除我已阅读的数据。
所以我担心的是我对我的类做一些更新,比如添加一个实例变量。然后将应用程序上传到 App Store。因此,当用户更新到新版本时,保存在 Documents 文件夹中的旧对象在没有我在新版本中添加的新实例变量的情况下进行编码。这样当我的应用程序在启动过程中尝试解码保存的对象时,它会失败,因为 Documents 文件夹中的“旧”对象没有使用这个新变量进行编码?
我将如何处理这个问题?确保我从一开始就“正确”地写我的课程?我确信我最终需要修改我的一个类,然后破坏磁盘上保存的旧对象。
【问题讨论】:
标签: objective-c cocoa-touch app-store nscoding