我将2个自定义列表转换为json字符串并将其存储为NSUserDefaults。像这样: -
NSUserDefaults.StandardUserDefaults.SetString(JsonConvert.SerializeObject(stationList.Take(50)), "StationList1");
NSUserDefaults.StandardUserDefaults.SetString(JsonConvert.SerializeObject(stationList.Skip(50).Take(50)), "StationList2");
如果我在保存它们之后立即尝试检索它们,我会得到保存的值: -
savedStationList1 = NSUserDefaults.StandardUserDefaults.StringForKey("StationList1");
savedStationList2 = NSUserDefaults.StandardUserDefaults.StringForKey("StationList2");
但问题是,如果我重新启动应用程序,并尝试在代码的另一部分获取上述值,我只获得以下值: -
savedStationList2 = NSUserDefaults.StandardUserDefaults.StringForKey("StationList2");
并且下面的值始终为null: -
savedStationList1 = NSUserDefaults.StandardUserDefaults.StringForKey("StationList1");
我不会在应用内的任何位置覆盖这些值。有没有办法解决这个问题?
感谢任何帮助
答案 0 :(得分:0)
虽然iOS系统本身确实存储了通过“用户默认”和“用户默认”添加的数据。它可能不会立即这样做。我建议添加以下行:
NSUserDefaults.StandardUserDefaults.Synchronise();
将数据存储到标准用户默认值后,运行同步并测试可以提取数据,您应该会发现现在可以正常使用它。