我很快就有一些樂趣,我試圖做一個簡單的遊戲。我在比賽中得到了一些變化。如果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