确定Segue基于选择器选择IOS,swift

时间:2016-08-06 06:23:14

标签: ios swift segue picker

我有一个目前有两个选项的选择器,我正在寻找的是,根据选择器中的选择,确定下面的下一个viewController是我尝试使用但是,我立即得到一个错误说明应将最后一个“if”语句转换为let语句。下面是我的选择器的代码,并尝试引入相关的segue。

import UIKit
import Firebase
import CoreData
import CoreLocation

class SchoolPickerViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
    @IBOutlet weak var SchoolPicker: UIPickerView!
    let pickerData = ["Ohio State University", "University of Rochester"]
    override func viewDidLoad() {
        super.viewDidLoad()
        SchoolPicker.dataSource = self
        SchoolPicker.delegate = self
        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    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]
    }

    @IBAction func schoolSelectorGoButton(sender: AnyObject) {
        if pickerData = "Ohio State University" {
            performSegueWithIdentifier("ohioStateSelected", sender: sender)
        }
       if pickerData = "University of Rochester" {
           performSegueWithIdentifier("rochesterSelected", sender: sender)
        }
    }


}

1 个答案:

答案 0 :(得分:2)

你应该从Array

中选择选择器数据

定义

var selectedIndex = 0

然后在这一行

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? 
{
    selectedIndex = row
    return pickerData[row]
}

并在此行动中

@IBAction func schoolSelectorGoButton(sender: AnyObject) {
    if pickerData[selectedIndex] == "Ohio State University" {
        performSegueWithIdentifier("ohioStateSelected", sender: sender)
    }
}