1
viewcontrollerBはnavコントローラのルートビューと同時にタブビューコントローラの最初のビューです。どのように初期ビューAからのデータをNavおよびタブコントローラを介してViewBに渡すか?おかげナビとタブコントローラの間でデータをやりとりする
viewcontrollerBはnavコントローラのルートビューと同時にタブビューコントローラの最初のビューです。どのように初期ビューAからのデータをNavおよびタブコントローラを介してViewBに渡すか?おかげナビとタブコントローラの間でデータをやりとりする
は、あなたのタブバーは、たとえば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)
}
こんにちは、ありがとう。私は自分のアプリケーションであなたのコードを試しました。問題は、私のviewBが現在nav controllerとtab controllerの両方に組み込まれていることです。だから、値はタブコントローラ –
に値を送ることによってlogViewからviewBに直接渡すことはできません。はい、私はあなたのストーリーボードの画像を見て、プロジェクトを再現し、それを動作させることができます。私があなたを助けることができるように、私に詳細な情報を与えてください。 performSegueWithIdentifierを使用して、変数をlogViewからタブバーコントローラに正常に渡すことはできますか? – valencieu
タブコントローラーに自分のビューしか埋め込んでいないと、データを正常に渡すことができません。しかし、もう1つNavコントローラを追加しても動作しません –