【发布时间】:2015-06-14 01:09:43
【问题描述】:
我创建了一个 plist,用于在我的应用中存储所有用户的数据,例如硬币数量、最佳分数、内部商店的一些衣服等等。而现在,在发布前 1 天,我意识到在更新应用程序后,所有用户的数据都会丢失。我说的对吗?
如果我不是,那么 plist 是如何工作的?比方说,在我的应用程序的 1.0 版中,我有一个 plist,其中包含用户的硬币数量。然后我决定将钻石数量添加到我的 plist 中,以便 2.0 版中的 plist 包含硬币和钻石。硬币和钻石的默认值为 0。
所以,用户下载了 1 个版本,现在他有 0 个硬币。他玩了一会儿,赚了100个硬币。然后他将应用程序更新到 2 版本。在这种情况下 plist 会发生什么?会不会被删除,添加新的,用户默认0金币0钻石?还是根本不会更新?或者他仍然有 100 个硬币,但有 0 个钻石?
总而言之,我只是想知道其他开发者如何在设备本地存储用户数据,而不使用外部数据库等。
附:这就是我创建 plist 的方式:
var paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as! String
var path = paths.stringByAppendingPathComponent("UserInfo.plist")
var data = NSMutableDictionary(contentsOfFile: path)
var fileManager = NSFileManager.defaultManager()
if (!(fileManager.fileExistsAtPath(path)))
{
var bundle : NSString = NSBundle.mainBundle().pathForResource("UserInfo", ofType: "plist")!
fileManager.copyItemAtPath(bundle as String, toPath: path, error:nil)
}
【问题讨论】:
标签: ios swift plist storing-data