2016-10-07 2 views
0

In meinem Code habe ich derzeit eine Containeransicht, die eine Storyboard-Referenz enthält. Dieses Storyboard, auf das ich verweise, enthält einen View-Controller, der zwei Containeransichten enthält.Wie erhalte ich Zugriff auf die Containeransicht von einer anderen Containeransicht?

In meiner Ansicht-Controller mit dem Behälter Ansicht, erhalte ich Zugriff auf meine Container-View-Controller Ansicht wie folgt:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 
{ 
    if segue.identifier == "showMetric" { 
     guard let metricChildViewController = segue.destinationViewController as? MetricChildViewController else { return } 
     var delegate: NewMetricDelegate! 

     let type = MetricsType.watts 
     let activityDelegate = NewActivityMetricDelegate(data: self.dataSet.dailySummary) 
     activityDelegate.dailySummaryPresentationDelegate = metricChildViewController 
     delegate = activityDelegate 

     metricChildViewController.metricDelegate = delegate 
     metricChildViewController.configure(type) 
     //I want to gain access to the table view controller 
    } 
} 

Hier habe ich eine Instanz von MetricChildViewController bin zu schaffen, die die View-Controller in meinem Behälter eingebettet ist Aussicht. Wie bereits erwähnt, enthält MetricChildViewController zwei Containeransichten. Ich versuche, es Table-View-Controller zu konfigurieren.

Was ich dachte, war ein prepareForSegue innerhalb meiner eigenen prepareForSegue-Methode in meinem View-Controller, um Zugriff auf die Containeransicht der Containeransicht ViewController, wenn das Sinn macht.

Das scheint nicht der beste Weg zu sein, also fragte ich mich, wie ich das machen sollte.

Antwort

0

MetricChildViewController muss starke Referenzen zu anderen Containern haben. Der einfachere Weg besteht darin, MetricChildViewController als untergeordneten Ansicht-Controller hinzuzufügen, anstatt ihn über das Storyboard

einzubetten
Verwandte Themen