使用segue将数据从MainViewController发送到SideMenu

Seb*_*lan 2 xcode swift

我正在使用SideMenu来显示我的应用程序菜单。问题是,我没有找到一个方法来从我的传递数据MainViewControllerTableViewController,因为从MainViewControllersegue.destinationSideMenu.UISideMenuNavigationController

这是一个带有视图的屏幕,也许您能更好地理解:

在此处输入图片说明

因此,我的数据需要从第一个视图到达第三个视图。

如果还可以提供一个带有委托的示例,那就太好了。

Vah*_*Sah 5

有很多方法可以做到这一点。例如,您可以使用委托在视图控制器之间传递数据,或使用通知中心。从您的问题中我了解到,您想使用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)

因此,通过此代码,您可以将数据从第一个控制器传递到第三个控制器。但是,我认为更可靠的解决方案是使用委托。