私はViewController
をContainer View
に埋め込み、TableViewController
を埋め込んでいます。ContainerViewコンセントを追加
は、今私はViewController
でTableView
にアクセスしたいと思い、どのように私はそのための出口を作ることができますか?
コンテナビューをコンセントに追加しようとしましたが、埋め込みのTableViewController
にアクセスできません。
私はViewController
をContainer View
に埋め込み、TableViewController
を埋め込んでいます。ContainerViewコンセントを追加
は、今私はViewController
でTableView
にアクセスしたいと思い、どのように私はそのための出口を作ることができますか?
コンテナビューをコンセントに追加しようとしましたが、埋め込みのTableViewController
にアクセスできません。
をあなたがするので、直接コンセントをすることはできませんテーブルビューは別のシーン(ビューコントローラ)にありますが、UITableViewController
インスタンスへの参照を取得すると、テーブルビューにアクセスできます。それにはいくつかの方法があります。
まず、UIViewController
サブクラスのchildViewControllers
プロパティを使用できます。子供が1人しかいないことがわかっている場合は、直接アクセスすることができます。そうでなければ、配列をループするなど、正しい子がどれかを判断する必要があります。
let myTableViewController = self.childViewControllers[0] as! UITableViewController
let theTableView = myTableViewController.tableView
2番目のオプションは、埋め込みセグメント中にUITableViewController
にアクセスすることです。ストーリーボードで埋め込みセグをクリックすると、他のセグのように識別子を付けることができます。そして、あなたがprepareForSegue
を実装し、組み込みUITableViewController
インスタンスをつかむことができます -
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "tableviewEmbed") {
let myTableViewController = segue.destinationViewController as! UITableViewController
let theTableView = myTableViewController.tableView
}
}
私はそれはきれい "
そうobjectAtIndexを使用し、あなただけの一人の子供を持っていると仮定すると(子ビューコントローラでアウトレットを作成し、self.childViewControllers.lastObjectを使用してアクセス:)
第二のアプローチの岩だと思うように、私は、この第2のアプローチを好みます! – TalL