应用程序开发建议 iOS。 ApplicationDidEnterBackground
Advice for app development iOS. ApplicationDidEnterBackground
我玩 swift 很开心,我正在尝试制作一款简单的游戏。我得到了一些在游戏过程中会发生变化的变量。如果 applicationDidEnterBackground
和 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
我会在获得所需值后立即设置并保存这些值,而不是在 applicationDidEnterBackground
中。
当我开始 iOS 编程时,我首先将数据存储在自定义文本文件中。然后我将数组保存到磁盘,使用 NSUserDefaults
和其他工具。最后,我决定转向 CoreData,因为我必须保存越来越多的数据,而且我的应用程序变得太慢了。
回过头来看,如果一开始就用CoreData会好很多。功能很强大,后面迁移到CoreData会花很多时间。
如果您想使用 CoreData,我建议您从一本好的教程或一本好书开始。我喜欢 Tim Roadley 的书 "Learning CoreData for iOS"。
一个有趣的选择可能是 Realm。我还没有使用过它,但它可能值得一看。
但是,这实际上取决于您的应用程序。如果您不需要保存大量数据,更简单的方法可能就足够了(NSUserDefaults 等)。
温馨提示:Apple建议持续保存数据,不要等到应用进入后台状态。届时,该应用程序可能随时暂停,您无法确定您的数据是否会及时保存。
我玩 swift 很开心,我正在尝试制作一款简单的游戏。我得到了一些在游戏过程中会发生变化的变量。如果 applicationDidEnterBackground
和 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
我会在获得所需值后立即设置并保存这些值,而不是在 applicationDidEnterBackground
中。
当我开始 iOS 编程时,我首先将数据存储在自定义文本文件中。然后我将数组保存到磁盘,使用 NSUserDefaults
和其他工具。最后,我决定转向 CoreData,因为我必须保存越来越多的数据,而且我的应用程序变得太慢了。
回过头来看,如果一开始就用CoreData会好很多。功能很强大,后面迁移到CoreData会花很多时间。
如果您想使用 CoreData,我建议您从一本好的教程或一本好书开始。我喜欢 Tim Roadley 的书 "Learning CoreData for iOS"。
一个有趣的选择可能是 Realm。我还没有使用过它,但它可能值得一看。
但是,这实际上取决于您的应用程序。如果您不需要保存大量数据,更简单的方法可能就足够了(NSUserDefaults 等)。
温馨提示:Apple建议持续保存数据,不要等到应用进入后台状态。届时,该应用程序可能随时暂停,您无法确定您的数据是否会及时保存。