【问题标题】:Data Persistence数据持久性
【发布时间】:2015-12-23 20:17:23
【问题描述】:

当应用程序加载时,我想知道我是否已经将数据保存到磁盘。如果保存了,我只是从磁盘加载,如果没有,我保存。 例如,我想使用NSUserDefaults.standardUserDefaults()保存一个数组(人)

保存方法:

let defaults = NSUserDefaults.standardUserDefaults()

 if let savedPeople = defaults.objectForKey("people") as? NSData 

     people = NSKeyedUnarchiver.unarchiveObjectWithData(savedPeople) as! [Person] 

但是我怎么知道我是否在viewDidLoad() 中保存了数据?不想每次打开app都保存,还会覆盖我之前修改的数据。

【问题讨论】:

  • 查看文件是否存在。
  • 如何知道它存在与否?你能给我一个简单的代码来演示吗?我对这部分不太熟悉。
  • 看看 NSFileManager
  • @rmaddy 听起来他在使用NSUserDefaults 来保持持久性。

标签: ios swift cocoa-touch data-persistence


【解决方案1】:

你会这样做:

override func viewDidLoad() {
    super.viewDidLoad()

    if let savedPeople = NSUserDefaults.standardUserDefaults().objectForKey("people") {
        // Use savedPeople based on your need
    } else {
        NSUserDefaults.standardUserDefaults().setObject(myArray, forKey: "people")
    }
}

【讨论】:

    猜你喜欢
    • 2016-09-24
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多