我认为您是在询问如何跟踪值(分数),以便在用户再次打开应用程序时检索它。如果是这种情况,那么您可以使用UserDefaults database。
UserDefaults 非常适合存储少量数据,例如分数或用户偏好。
下面示例中显示的synchronize 方法调用是可选的:iOS 会不时自动进行该调用。如图所示,您可以手动调用它,以确保您的分数在适当的时间更新。
Swift 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 的示例。