Ios 返回视图时保留UIPickerView行

Ios 返回视图时保留UIPickerView行,ios,swift,uipickerview,viewwillappear,Ios,Swift,Uipickerview,Viewwillappear,我一直在尝试在我的应用程序中添加一些代码,以确保先前在选择器视图中选择的行被保留,这样当用户返回到该视图时,它将显示其先前选择的行 我认为我这样做是正确的,但是它似乎与我当前的代码没有任何关系 以下是我所拥有的: func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { itemSelected = colours[row] } override func

我一直在尝试在我的应用程序中添加一些代码,以确保先前在选择器视图中选择的行被保留,这样当用户返回到该视图时,它将显示其先前选择的行

我认为我这样做是正确的,但是它似乎与我当前的代码没有任何关系

以下是我所拥有的:

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]