2016-08-06 8 views
2

私は現在2つのオプションを持つピッカーを持っています。私が探しているのは、ピッカーでの選択に基づいて、次のviewControllerを決定するためです。しかし、私は直ちに最後の "if"ステートメントをletステートメントに変換する必要があることを示すエラーを直ちに取得しました。以下は私のピッカーのコードであり、関連するセグにつながる試みです。Segueを決定するピッカー選択IOSに基づいて、スウィフト

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


} 

答えて

2

uは

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) 
    } 
} 
を定義アレイ

からピッカーデータを選択し取得する必要があり10

関連する問題