Swift NSUserDefaults not saving Dictionary?

后端 未结 5 926
无人及你
无人及你 2020-12-03 17:03

I have the following test code:

  func testSaveDictionary() {
    let userDefaults = NSUserDefaults.standardUserDefaults()
    var jo = [
      \"a\" : \"1.0         


        
5条回答
  •  独厮守ぢ
    2020-12-03 17:25

    I faced with this problem yesterday and filed a radar: Cannot store Dictionary in NSUserDefaults in iOS8. This issue is related only to iOS 8. Also I described a workaround for this case: Workaround for saving dictionary in NSUserDefaults. Works like a charm.

    /// Save
    NSUserDefaults.standardUserDefaults().setObject(NSKeyedArchiver.archivedDataWithRootObject(object), forKey: key)
    
    /// Read
    var data = NSUserDefaults.standardUserDefaults().objectForKey(key) as NSData
    var object = NSKeyedUnarchiver.unarchiveObjectWithData(data) as [String: String]
    

提交回复
热议问题