我一直在尝试在我的应用程序中添加一些代码,以确保保留在选取器视图中先前选定的行,这样当用户返回该视图时,该视图将显示其先前选定的行。
我以为我做的是正确的,但它似乎与我当前的代码没有任何关系。
以下是我所拥有的:

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    itemSelected = colours[row]
}

override func viewWillAppear(animated: Bool) {
    var colourNum = 0
    if itemSelected == "Moss" {
        colourNum = 0
    } else if itemSelected == "Ocean" {
        colourNum = 1
    } else if itemSelected == "Maroon" {
        colourNum = 2
    } else if itemSelected == "Steel" {
        colourNum = 3
    } else if itemSelected == "Iron" {
        colourNum = 4
    } else if itemSelected == "Cayenne" {
        colourNum = 5
    }
    colourPicker.selectRow(colourNum, inComponent: 0, animated: true)
}

有什么想法吗?

最佳答案

您可以使用NSUserDefaults。

NSUserDefaults.standardUserDefaults().setObject(newValue, forKey: "selectedColour")
NSUserDefaults.standardUserDefaults().synchronize()

var returnValue: [NSNumber]? = NSUserDefaults.standardUserDefaults().objectForKey("selectedColour") as? [NSNumber]

关于ios - 返回 View 时保留UIPickerView行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26985547/

10-10 21:13