我制作了一个有15个级别的应用程序,其中每个级别有3个阶段。 总的来说,我有45个场景/视图控制器。
我正在试图弄清楚如何创建一个保存功能,这样如果您关闭手机上的应用程序并稍后打开它,它将记住您所处的级别/阶段。我刚刚开始使用swift,我也想知道这是否远远超出我的编程水平来创建它,但希望它可能比我想象的更简单?
答案 0 :(得分:1)
只要所需的部分很小,只需保存级别/阶段文本信息,NSUserDefaults即可。
核心数据是一项伟大的技术,但需要一些学习,并且只是为了节省一点点信息而过度杀伤。最近我一直在使用NSUserDefaults,它运行良好。
//in Swift:
let defaults = NSUserDefaults.standardUserDefaults()
//send data to NSUserDefaults:
defaults.setObject(desiredValue, forKey: stringNameOfValue)
//retrieve data from NSUserDefaults:
desiredValue = defaults.objectForKey(stringNameOfValue)
答案 1 :(得分:0)
如前所述,NSUserDefaults
是您正在查看的数据存储规模的绝佳选择。但另一个好的选择是使用NSUbiquitousKeyValueStore
。该类的工作方式类似,但增加了将要保存的小数据项同步到iCloud的功能。
使用iCloud KVS时需要考虑a little bit more,但这与使用NSUserDefaults
几乎相同。为了这一点额外的努力,您的用户获得了巨大的胜利:当您关闭手机上的应用程序时,您可以稍后在相同的iPhone或iPad上的,Apple TV,Mac,iPod touch上打开它,其他iPhone等,仍然记得你离开的地方。