0

在我的代码中,我目前有一个嵌入情节提要参考的容器视图。我引用的这个故事板包含一个视图控制器,其中包含两个容器视图。

在带有容器视图的视图控制器中,我可以像这样访问容器视图的视图控制器:

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 的容器视图,如果这有意义的话。

这似乎不是最好的解决方法,所以我想知道我应该如何解决这个问题。

4

1 回答 1

0

MetricChildViewController 需要对其他容器有强引用。更简单的方法是将 MetricChildViewController 添加为子视图控制器,而不是通过情节提要嵌入它

于 2016-10-07T18:01:10.310 回答