我很快就有一些乐趣,我试图做一个简单的游戏。我在比赛中得到了一些变化。如果applicationDidEnterBackground
和appDelegate
中的所有其他功能保存这些变量,最佳做法是什么。对应用程序开发的建议iOS。 ApplicationDidEnterBackground
我相信是将它们存储在核心数据中,并在应用程序再次启动时加载它们。
任何人都有一些围绕这个主题的经验?
我很快就有一些乐趣,我试图做一个简单的游戏。我在比赛中得到了一些变化。如果applicationDidEnterBackground
和appDelegate
中的所有其他功能保存这些变量,最佳做法是什么。对应用程序开发的建议iOS。 ApplicationDidEnterBackground
我相信是将它们存储在核心数据中,并在应用程序再次启动时加载它们。
任何人都有一些围绕这个主题的经验?
如果它只是你想存储和管理你的一些变量可以使用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
虽然值保存这些值。
谢谢!看起来像NSUserDefaults会与我所得到的很好。 – Starlord
当我开始与iOS编程,我首先存储在自定义文本文件中的数据。然后我将数组保存到磁盘,使用NSUserDefaults
和其他工具。最后,我决定迁移到CoreData,因为我必须存储越来越多的数据,而且我的应用程序变得太慢了。
回想起来,如果我从一开始就使用CoreData,情况会好很多。它功能非常强大,后来迁移到CoreData需要很长时间。
如果你想使用CoreData,我建议先从一个好的教程或一本好书开始。我喜欢Tim Roadley的书“Learning iOS for iOS”。
一个有趣的选择可能是Realm。我还没有使用它,但它可能值得一看。
但是,它确实取决于您的应用程序。如果你不需要保存大量的数据,简单的方法可能就足够了(NSUserDefaults等)。
请注意:Apple建议持续保存数据,不要等到应用程序进入后台状态。那时候,应用程序可能会随时暂停,并且您无法确定您的数据是否会及时保存。
这取决于什么样的数据和它的大小。 NSUserDefaults,核心数据,Plist,自定义文件等。 – Larme
这取决于。有很多不同的选择是有原因的。原因不是因为人们认为是最佳做法,其他人不应该使用。 – nhgrif
我得到了5个变量,每个变量都有一个值。几乎没有什么 – Starlord