2015-01-04 2 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

Инициализировать 'pickerChoice' с' pickerData [0] 'в' viewDidLoad'. – rmaddy

+0

Но когда я просматриваю страницу, выбирается средний вариант. Таким образом, pickerData [1] будет правильным. Я буду динамически вставлять список, поэтому я не могу просто предположить, что pickerData [1] верен. – user1610719

+0

В 'viewDidLoad', инициализируйте выбранный индекс представления выбора с помощью 0 (или любое значение, которое вы хотите в качестве начального значения). Инициализируйте 'pickerChoice' с тем же значением. – rmaddy

ответ

0

Я думаю, что следующее, что вам нужно. Если вы еще ничего не выбрали в сборщике, это все равно должно работать, чтобы вернуть текущее значение, которое будет отображаться в сборщике.

pickerChoice = pickerData[pickerDonate.selectedRowInComponent(0)] 

Так pickerData ваш массив данных для сборщика и pickerDonate ваш UIPicker.

Смежные вопросы