我正在使用SideMenu来显示我的应用程序菜单。问题是,我没有找到一个方法来从我的传递数据MainViewController的TableViewController,因为从MainViewController该segue.destination是SideMenu.UISideMenuNavigationController。
这是一个带有视图的屏幕,也许您能更好地理解:
因此,我的数据需要从第一个视图到达第三个视图。
如果还可以提供一个带有委托的示例,那就太好了。
有很多方法可以做到这一点。例如,您可以使用委托在视图控制器之间传递数据,或使用通知中心。从您的问题中我了解到,您想使用segues。对于这种方法,解决方案如下:
在“ Satari”视图控制器(我的意思是第三个视图控制器,假设SatariViewController)中定义一些变量:
var test : String?
Run Code Online (Sandbox Code Playgroud)
在第一个视图控制器中添加以下代码
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "segueName" {
let navViewController = segue.destination as! UISideMenuNavigationController
let satariVC = navViewController.viewControllers.first as! SatariViewController
satariVC. test = "Data from first view controller"
}
}
Run Code Online (Sandbox Code Playgroud)
因此,通过此代码,您可以将数据从第一个控制器传递到第三个控制器。但是,我认为更可靠的解决方案是使用委托。
| 归档时间: |
|
| 查看次数: |
336 次 |
| 最近记录: |