在swift

时间:2015-11-30 18:33:19

标签: swift

我制作了一个有15个级别的应用程序,其中每个级别有3个阶段。 总的来说,我有45个场景/视图控制器。

我正在试图弄清楚如何创建一个保存功能,这样如果您关闭手机上的应用程序并稍后打开它,它将记住您所处的级别/阶段。我刚刚开始使用swift,我也想知道这是否远远超出我的编程水平来创建它,但希望它可能比我想象的更简单?

2 个答案:

答案 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)

了解更多信息: https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/

答案 1 :(得分:0)

如前所述,NSUserDefaults是您正在查看的数据存储规模的绝佳选择。但另一个好的选择是使用NSUbiquitousKeyValueStore。该类的工作方式类似,但增加了将要保存的小数据项同步到iCloud的功能。

使用iCloud KVS时需要考虑a little bit more,但这与使用NSUserDefaults几乎相同。为了这一点额外的努力,您的用户获得了巨大的胜利:当您关闭手机上的应用程序时,您可以稍后在相同的iPhone或iPad上的,Apple TV,Mac,iPod touch上打开它,其他iPhone等,仍然记得你离开的地方。