我想你問的是如何跟蹤一個值(分數),以便在用戶再次打開應用程序時檢索它。如果是這種情況,那麼你可以使用UserDefaults
database。例如,
UserDefaults
非常適合存儲少量數據,例如分數或用戶偏好。
以下示例中顯示的synchronize
方法調用是可選的:iOS將不時自動進行該調用。但是,如圖所示,您可以手動調用它,以確保您的分數在適當的時候更新。
斯威夫特3.X:
// define a constant String name for the key where the score will be stored
// (note: this can be any name you want; I randomly chose "scoreKey")
let scoreKey = "scoreKey"
// even if the key's value isn't Bool, iOS will return 'false'
// if the key hasn't been set or 'true' if it has been set
let scoreKeyExists: Bool = NSUserDefaults.standardUserDefaults().boolForKey(scoreKey)
// if no value has been set, yet, then set an initial value
if !scoreKeyExists {
NSUserDefaults.standardUserDefaults().setInt(0, forKey: scoreKey)
NSUserDefaults.standardUserDefaults().synchronize()
}
// retrieve the value when needed
let currentScore = NSUserDefaults.standardUserDefaults().intForKey(scoreKey)
// set value as needed
let newScore = 10
NSUserDefaults.standardUserDefaults().setInt(newScore, forKey: scoreKey)
NSUserDefaults.standardUserDefaults().synchronize()
斯威夫特4:
// define a constant String name for the key where the score will be stored
// (note: this can be any name you want; I randomly chose "scoreKey")
let scoreKey = "scoreKey"
// even if the key's value isn't Bool, iOS will return 'false'
// if the key hasn't been set
let scoreKeyExists: Bool = UserDefaults.standard.bool(forKey: scoreKey)
// if no value has been set, yet, then set an initial value
if !scoreKeyExists {
UserDefaults.standard.set(0, forKey: scoreKey)
UserDefaults.standard.synchronize()
}
// retrieve the value when needed
let currentScore = UserDefaults.standard.int(forKey: scoreKey)
// set value as needed
let newScore = 10
UserDefaults.standard.set(newScore, forKey: scoreKey)
UserDefaults.standard.synchronize()
而且,爲了在finish
關閉期間更新您的標籤,你需要讓你的標籤一個全局變量就像你的分數。
您可以通過Interface Builder將它添加爲IBOutlet
。查看本教程以獲得如何使用Connect the UI to Code的示例。
請問什麼是'scoreKey'? –
'UserDefaults'是一個包含鍵值對的字典。爲了存儲和檢索一個值,你需要發明一個'String'類型的鍵名。 'scoreKey'是我爲儲存樂譜的關鍵所發明的名稱。 (我忘了在我的答案中包含那個定義,所以我現在會更新它。) – leanne
還要注意,我要說明的是,我給出的例子並不一定都是一致的。例如,您可以將密鑰名稱設置爲全局常量。然後,您可以在需要檢索密鑰值的任何位置使用它。例如,在使用它之前,你會檢查密鑰是否存在,或者如果你打算在首次玩遊戲時設置初始值,那麼你的應用程序將啓動。然後,在需要的地方設置或檢索值,以便遊戲正常工作。 – leanne