更新后的plist数据

时间:2015-06-14 01:09:44

标签: ios swift plist storing-data

我创建了一个plist,用于存储我的应用中的所有用户数据,例如硬币数量,最佳分数,内部商店的一些衣服等等。现在,在发布前一天,我意识到在更新应用程序后,所有用户的数据都将丢失。我是对的吗?

如果我不是,那么钳子是如何工作的?让我们说,在我的应用程序版本1.0中,我有一个plist由用户的硬币数量组成。然后我决定向我的plist添加钻石数量,以便2.0版的plist由硬币和钻石组成。硬币和钻石的默认值为0。

因此,用户下载1版本,现在他有0个硬币。他玩了一会儿,赚了100个硬币。然后他将应用程序更新为2版本。在这种情况下,plist会发生什么?它会被删除,新的添加,用户将默认0硬币和0钻石?或者它根本不会更新?或者他还有100枚硬币,但是还有0枚钻石?

总而言之,我只是想知道其他开发者如何在设备上本地存储用户数据,而不使用外部数据库等。

P.S。这就是我创建我的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)
    }

1 个答案:

答案 0 :(得分:0)

  

现在,在发布前一天,我意识到在更新应用程序后,所有用户的数据都将丢失。我是对的

不,不一定。如果数据存储在用户默认值中,或者存储为应用程序沙箱的非易失性区域(例如Documents目录)中的文件,则仅升级应用程序对其没有影响。