0

我正在使用 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!)
4

0 回答 0