Swift3 SWRevealViewController按钮在Swift中从另一个ViewController单击“后退”按钮后不工作

Swift3 SWRevealViewController按钮在Swift中从另一个ViewController单击“后退”按钮后不工作,swift3,back-button,swrevealviewcontroller,Swift3,Back Button,Swrevealviewcontroller,我在我的项目中使用SWRevealViewController我的问题是,我可以在第一次单击“查看切换”按钮,而在我从另一个视图控制器单击“上一步”按钮并返回该视图后,该按钮不起作用

我在我的项目中使用SWRevealViewController
我的问题是,我可以在第一次单击“查看切换”按钮,而在我从另一个视图控制器单击“上一步”按钮并返回该视图后,该按钮不起作用<这是我的项目的截图


我首先从服务视图控制器中单击NavigationLeft按钮,左侧菜单显示出来
之后,我从视图控制器单击“Imageview”进入下一页
当我到达下一页的详细信息时,我点击“后退按钮”,它进入服务视图控制器
当时,我点击RevelView切换按钮,它不工作。我得到错误致命错误:在展开可选值时意外发现nil


维修视图控制器中的我的代码是

 override func viewDidLoad() {
    super.viewDidLoad()

 if self.revealViewController() != nil {
        debugPrint("Menu Click")
        btnBack.target = self.revealViewController()
        btnBack.action = #selector(SWRevealViewController.revealToggle(_:))
        self.revealViewController().panGestureRecognizer()

    }

    else
    {
        debugPrint("nil")
        btnBack.target = self.revealViewController()
        btnBack.action = #selector(SWRevealViewController.revealToggle(_:))
        // self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
        self.revealViewController().panGestureRecognizer()

    }


}
当项目第一次运行时,代码传递到“self.revealViewController()!=nil”,我转到详细视图控制器并单击“上一步”按钮。此时,代码将传递到“debugPrint”(“nil”),并且它不会显示在菜单上或工作

来自详细视图控制器的代码是

 @IBAction func btnBack(_ sender: UIBarButtonItem) {
    debugPrint("BtnBack")
    self.dismiss(animated: true, completion:nil)

}

我的代码是错误的还是逻辑错误?从一个星期以来,我一直在努力解决这个问题。请帮助我..

在serviceViewController中单击图像视图事件

let detailVC = self.storyboard?.instantiateViewController(withIdentifier: "Detail") as! DetailVc
    self.navigationController?.pushViewController(detailVC, animated: true)
将导航控制器附加到详图视图控制器。服务和细节之间不需要手动连接。 为返回事件添加一个按钮

 self.navigationController?.popViewController(animated: true)
同时添加
self.view.addgestureRecognitizer(self.revelviewcontroller().pangestureRecognitizer())
,而不是在为菜单按钮添加目标的最后一行中添加ur代码


检查是否有效。

请同时发布菜单初始化代码。我使用SWReavealController库。这是链接兄弟。我在viewDIdLoad中声明了菜单代码。我认为这是错误的。您必须在AppDelegate文件中选择初始化代码来解决问题。查看此链接了解更多详细信息您是否有解决方案?仍在解决bro@HardikShekhat