2016-06-30 12 views
0

私はPickerViewにオフィスの選択肢があり、私はStringsの別のViewControllerというオフィスの参照に行きたいと思っています。マイPickerViewControllerクラス:Swiftの別のViewControllerからデータを取得する

import UIKit 
class PickerViewController: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate { 
    @IBOutlet weak var officePicker: UIPickerView! 

    let offices = ["Choice 1","Choice 2","Choice 3"] 
    override func viewDidLoad() { 
    super.viewDidLoad() 
    officePicker.dataSource=self 
    officePicker.delegate=self 
    } 

    func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int { 
    return 1 
    } 
    func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 
    return offices.count 
    } 

    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 
    let value = offices[row] 
    } 
} 

私はオフィスの情報を持ってホーム画面を持っています。 PickerViewを使用して前に選択したオフィス情報を、オフィス名を比較してデータベースからこの画面に追加したいとします。

+0

@Umair Afzalは、私が試したが、同じエラーが発生しました「NSObjectのの値のタイプは何のメンバー 『ストーリーボード』を持っていません。」 –

+0

はそうあなたが質問 –

+0

@Umair Afzalとして、私はあなたの自己誇張のためにこれを掲示することを掲示しなければなりません。 –

答えて

1

選択したピッカーを変数Stringに格納することができます。最初に宣言してください。

var selectedOffice: String? 

あなたのpickerView代理人で、その変数を割り当ててください。

次のView Controllerに移動する準備ができたら、最も簡単な方法はそのViewControllerでデータを渡すことです。その前に、必要なviewcontroller内に別の変数を作成してください。

var selectedOffice: String? 

現在のビューコントローラで、次のコントローラに移動する場合は、次の例のように変数を割り当てます。

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let vc = self.storyboard!.instantiateViewControllerWithIdentifier("frontView") as! FrontViewController 
vc.selectedOffice = selectedOffice 
self.navigationController?.pushViewController(vc, animated: true) 
+0

ありがとうございました。 "NSObjectの値の型にメンバーがいない"ストーリーボード "というエラーがあります。" @Syed M –

+0

これは一例です。新しいコードで答えを更新しました –

+0

ありがとうございました! @Syed M –

関連する問題