我正在尝试使用UserDefaults来调用UIPickerView中的用户上一次选择,但是代码不会生效。

这是我尝试拉出选择器视图didSelectRow的函数:

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    UserDefaults.standard.set(data[row], forKey: "timeSelected")
}

这是我想起钥匙的地方:
override func viewDidAppear(_ animated: Bool) {
    if let triggerTimeSelected = UserDefaults.standard.object(forKey: "timeSelected") as? Int {
        userSettingsPicker.selectRow(triggerTimeSelected, inComponent: 0, animated: true)
    }
}

我究竟做错了什么?

最佳答案

您将其保存为String并读取为Int,将其保存为

UserDefaults.standard.set(row, forKey: "timeSelected")

10-06 00:05