2016-10-03 8 views
-1

View Controllerと静的なTable View Controllerの組み合わせがこのデザインになっています。私は最上部にView Controllerを使用してみましたが、下のView Controllerを組み込みましたが、2つのVCに同時にデータを渡す方法がわかりません。UIViewを使用したカスタムテーブルビューのセル

enter image description here

この設計を実装するためのベストプラクティスは何ですか?

答えて

2

あなたのViewControllerにcontainer viewを使用する必要があります。

enter image description here

これは、自動的に関係セグエ作成:

enter image description here

をそして最後に、あなたがprepareForSegueを通じて埋め込まViewControllersにアクセスすることができます。

class MyMainViewController { 
    var embeddedVC1: MyEmbeddedViewController1! 
    var embeddedVC2: MyEmbeddedViewController2! 
    var embeddedVC3: MyEmbeddedViewController3! 

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     if segue.identifier == "Embedded1" { 
      self.embeddedVC1 = segue.destinationViewController as? MyEmbeddedViewController1 
     } else if segue.identifier == "Embedded2" { 
      self.embeddedVC2 = segue.destinationViewController as? MyEmbeddedViewController2 
     } else if segue.identifier == "Embedded3" { 
      self.embeddedVC3 = segue.destinationViewController as? MyEmbeddedViewController3 
     } 
    } 

} 

ビューコントローラの属性に埋め込みビューコントローラインスタンスが格納されるようになりましたので、他の任意の関数の埋め込みビューコントローラにデータを送信できます。

ただし、データを送信するには、委任がprotocolsである必要があります。

関連する問題