如何访问到底部视图swift

标签: ios Swift
发布时间: 2017/3/6 23:28:06
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

Storyboard screenshot

我有两个 UIViewController。NewBuyViewController and NewTransformViewController.现在,我需要使用一些数据从 NewTransformViewControllerNewBuyViewController 。我使用这段代码在 NewBuyViewController :

let presentingView1 = self.presentingViewController as! UINavigationController
let presentingView2 = presentingView1.presentingViewController as! NewTransferViewController

但它在第二行的崩溃。我该怎么办?

解决方法 1:

请始终包括错误消息/控制台您接收的消息。

你出错了,因为 presentingViewController 返回当前提出的modal viewController,在 viewController 上的问题。

presentingView1UINavigationController 没有modal的 viewController。它有 rootViewController ,并可能在稍后的集合 viewControllers

崩溃是因为你是力铸造 ( as! ) 第二个 presentingViewController ,这返回零,因为它不存在。任何试图强制的铸为零将会崩溃。你应该避免强迫铸造不惜一切代价,除非绝对必要。

相反,尝试访问 rootViewController 像这样︰

if let secondViewController = presentingView1.rootViewController as? NewTransferViewController {
    // Do something with `secondViewController`
}
官方微信
官方QQ群
31647020