2015-01-04 132 views
0

試圖保存一個UIPickerView值,並且我希望能夠在用戶從未觸及過UIPickerView的情況下獲得正確的值。獲取UIPickerView的初始值swift

如果用戶移動選取器,下面會將pickerChoice設置爲我想要的值,但是我找不到任何能夠告訴我如何從未觸摸過的選取器的初始值。

class DonateVC: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate { 
    @IBOutlet var pickerDonate: UIPickerView! 
    var toPass:String! 
    var success:NSInteger = 0 
    let pickerData = ["PAWS Chicago", "Anti-Cruelty Shelter", "Almost Home Foundation"] 
    var pickerChoice:NSString! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     pickerDonate.dataSource = self 
     pickerDonate.delegate = self 
     //pickerDonate.selectRow(0, inComponent: 0, animated: true) 
    } 
    func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int { 
     return 1 
    } 
    func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 
     return pickerData.count 
    } 
    func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! { 
     return pickerData[row] 
    } 

    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 
     pickerChoice = pickerData[row] 
    } 
+3

用'viewDidLoad'中的'pickerData [0]'初始化'pickerChoice'。 – rmaddy

+0

但是當我查看頁面時,實際選擇了中間選項。所以pickerData [1]在這裏是正確的。我將動態插入列表,所以我不能假定pickerData [1]是正確的。 – user1610719

+0

在'viewDidLoad'中,初始化選擇器視圖的選定索引,使用0(或者您想要的任何值作爲初始值)。使用相同的值初始化'pickerChoice'。 – rmaddy

回答

0

我認爲以下是你需要的。如果您尚未在選取器中選擇任何內容,但仍然可以返回將在選取器中顯示的當前值。

pickerChoice = pickerData[pickerDonate.selectedRowInComponent(0)] 

所以pickerData是你的picker的數據數組,pickerDonate是你的UIPicker。