我正在使用 xcode 8 和 swift 3。我制作了一个迷你游戏,你必须尽可能快地回答问题。你被秒表计时。我有代码来实际存储时间(例如 23 秒),但不是存储时间,而是用“标签”替换它。我的秒表标签被调用label
,显示值的被调用resultLabel
我被告知问题是当我设置标签的文本时。关于我需要修复它的任何想法。一个例子是 ["Label", "Label", "Label"]
秒表代码:
if timerSecond != nil {
timerSecond?.invalidate()
timerSecond = nil
} else {
timerSecond = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { _ in
self.currentTime += 1
let minutePortion = String(format: "%02d", self.currentTime / 60 )
let secondsPortion = String(format: "%02d", self.currentTime % 60 )
self.down.text = "\(minutePortion):\(secondsPortion)"
}
}
用户默认值的扩展:
extension UserDefaults {
var timesSecond: [String] {
get {
if let times = UserDefaults.standard.object(forKey: "times") as? [String] {
return times
} else {
return []
}
}
set {
UserDefaults.standard.set(newValue, forKey: "times")
}
}
}
显示值数组的按钮代码:
let arrayOfTimes = UserDefaults.standard.timesSecond
resultLabel.text = "\(arrayOfTimes)"
存储数据的代码:
UserDefaults.standard.timesSecond.append(resultLabel.text!)