В моем коде в настоящее время у меня есть представление контейнера, в которое встроена ссылка на раскадровку. Эта раскадровка, на которую я ссылаюсь, содержит контроллер представления, внутри которого находятся два контейнерных представления.
В моем контроллере представления с представлением контейнера я получаю доступ к контроллеру представления моего представления контейнера следующим образом:
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
}
}
Здесь я создаю экземпляр MetricChildViewController, который является контроллером представления, встроенным в мое представление контейнера. Как я уже говорил, MetricChildViewController содержит два представления контейнера. Я пытаюсь настроить контроллер табличного представления.
Я подумал о том, чтобы включить prepareForSegue в мой собственный метод prepareForSegue в моем контроллере представления, чтобы получить доступ к представлению контейнера viewController моего представления контейнера, если это имеет смысл.
Это не похоже на лучший способ сделать это, поэтому мне было интересно, как мне это сделать.