2016-05-04 19 views

答えて

0

は、あなたのタブバーは、たとえばMyTabBarControllerのために、カスタムクラスをコントローラ付け、および(prepareForSegue経由)ビューコントローラでログにあなたのテキストフィールドからテキストを受信しますが、変数を宣言します。ホームビューコントローラからその変数にアクセスすることができます。ビューコントローラでログに

:あなたのタブバーコントローラで

@IBAction func ButtonPressed(sender: AnyObject) { 

    performSegueWithIdentifier("toTabBarController", sender: nil) 

    } 

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 

     if let tabBarController = segue.destinationViewController as? MyTabBarController{ 

     tabBarController.someVariable = someTextField.text! 

     } 

    } 

あなたの家のテーブルビューコントローラで
var someVariable = String() 

override func viewWillAppear(animated: Bool) { 

     let tabBarController = self.tabBarController as! MyTabBarController 
     someVariable = tabBarController.someVariable 

    print("the text is",someVariable) 


} 
+0

こんにちは、ありがとう。私は自分のアプリケーションであなたのコードを試しました。問題は、私のviewBが現在nav controllerとtab controllerの両方に組み込まれていることです。だから、値はタブコントローラ –

+0

に値を送ることによってlogViewからviewBに直接渡すことはできません。はい、私はあなたのストーリーボードの画像を見て、プロジェクトを再現し、それを動作させることができます。私があなたを助けることができるように、私に詳細な情報を与えてください。 performSegueWithIdentifierを使用して、変数をlogViewからタブバーコントローラに正常に渡すことはできますか? – valencieu

+0

タブコントローラーに自分のビューしか埋め込んでいないと、データを正常に渡すことができません。しかし、もう1つNavコントローラを追加しても動作しません –

関連する問題