并不是所有的NSUserDefaults都在应用重新启动时被恢复
我将2个自定义列表转换成一个JSONstring,并将其存储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");
而下面的值始终为空: –
savedStationList1 = NSUserDefaults.StandardUserDefaults.StringForKey("StationList1");
我不覆盖这些值在应用程序的任何地方。 有没有办法解决这个问题?
任何帮助表示赞赏
虽然本机iOS系统确实存储了通过“userdefaults”添加的数据,但它可能不会立即做到这一点。 我会build议添加以下行:
NSUserDefaults.StandardUserDefaults.Synchronise();
将数据存储到标准用户默认值之后,运行同步并testing您可以提取数据,您应该会发现现在可以正确地为您工作。