关于iOS应用程序开发的建议。应用程序标识符背景

关于iOS应用程序开发的建议。应用程序标识符背景,ios,swift,appdelegate,Ios,Swift,Appdelegate,我和斯威夫特玩得很开心,我试着做一个简单的游戏。我得到了一些在游戏中变化的变量。如果applicationidenterbackground和appDelegate中的所有其他函数保存这些变量的最佳实践是什么 我所相信的是将它们存储在核心数据中,并在应用程序再次启动时加载它们 任何对此主题有经验的人?如果您只想存储和管理一些变量,可以使用NSUserDefaults // Create defaults let defaults = NSUserDefaults.standard

我和斯威夫特玩得很开心,我试着做一个简单的游戏。我得到了一些在游戏中变化的变量。如果
applicationidenterbackground
appDelegate
中的所有其他函数保存这些变量的最佳实践是什么


我所相信的是将它们存储在核心数据中,并在应用程序再次启动时加载它们


任何对此主题有经验的人?

如果您只想存储和管理一些变量,可以使用
NSUserDefaults

    // Create defaults
    let defaults = NSUserDefaults.standardUserDefaults()

    // Set an int for highScoreKey in our defaults
    defaults.setInteger(10, forKey: "highScoreKey")

    // Sync/Save the defaults we've changed
    defaults.synchronize()

    // Then to retrieve our highScoreKey default we've saved
    // We create an int to store the value that is in our default
    var highScoreInt = defaults.integerForKey("highScoreKey")

    println(highScoreInt)
    // Prints 10
我会在获得所需的值后立即设置并保存这些值,而不是在
ApplicationIdentinterBackground


当我开始使用iOS编程时,我首先将数据存储在自定义文本文件中。然后我使用
NSUserDefaults
和其他工具将阵列保存到磁盘。最后,我决定转到CoreData,因为我必须保存越来越多的数据,而且我的应用程序变得太慢了

回顾过去,如果我从一开始就使用CoreData,情况会好得多。它非常强大,稍后迁移到CoreData需要花费大量时间

如果您想使用CoreData,我建议您从一本好的教程或好书开始。我喜欢Tim Roadley的《为iOS学习CoreData》一书

另一个有趣的选择可能是。我还没有用过它,但它可能值得一看

然而,这实际上取决于您的应用程序。如果不需要保存大量数据,简单的方法可能就足够了(NSUserDefaults等)


警告:苹果建议持续保存数据,不要等到应用程序进入后台状态。届时,应用程序可能会随时暂停,您无法确定数据是否会及时保存。

这取决于数据类型及其大小。NSUserDefaults、核心数据、Plist、自定义文件等。具体取决于。有很多不同的选择是有原因的。原因并不是因为一个被认为是最佳实践,而其他的则不应该被使用。我得到了5个变量,每个变量都有一个值。几乎没有什么“我认为是将它们存储在核心数据中”您是一位经验丰富的核心数据程序员吗?核心数据不是一项初学者技术。谢谢!看来NSUserDefaults可以很好地使用我得到的。