Swift 如何修复';可选零和x27;在RevealViewController()手势识别器上?

Swift 如何修复';可选零和x27;在RevealViewController()手势识别器上?,swift,xcode,uigesturerecognizer,swrevealviewcontroller,Swift,Xcode,Uigesturerecognizer,Swrevealviewcontroller,我正在尝试将点击和平移手势识别器添加到我的RevealViewController()中,并且我得到了一个可选类型的值“UIGestureRecognizer?”必须展开。我该怎么打开这个 //我的应用程序 //主故事板 //HomeVC override func viewDidLoad() { super.viewDidLoad() menuBtn.addTarget(self.revealViewController(), action: #selector(SWRe

我正在尝试将点击和平移手势识别器添加到我的
RevealViewController()
中,并且我得到了一个可选类型的
值“UIGestureRecognizer?”必须展开。我该怎么打开这个

//我的应用程序

//主故事板

//HomeVC

override func viewDidLoad() {
   super.viewDidLoad()

    menuBtn.addTarget(self.revealViewController(), action: #selector(SWRevealViewController.revealToggle(_:)), for: .touchUpInside)
    if self.revealViewController() != nil{
        self.view.addGestureRecognizer(self.revealViewController()!.tapGestureRecognizer())
        self.view.addGestureRecognizer(self.revealViewController()!.panGestureRecognizer())
    }
}

这个问题很模糊,而且你没有提供太多的上下文,所以如果答案不完全符合你的需要,请原谅,但为什么不做一个简单的
if let
语句来优雅地打开它呢

if let gestureTap = self.revealViewController()?.tapGestureRecognizer(){
     if let gesturePan = self.revealViewController()?.panGestureRecognizer(){

self.view.addGestureRecognizer(gestureTap)
    self.view.addGestureRecognizer(gesturePan)
     }
}

我通过添加以下内容获得了轻拍和平移手势识别器:

menuBtn.addTarget(self.revealViewController(), action: #selector(SWRevealViewController.revealToggle(_:)), for: .touchUpInside)

menuBtn.addTarget(self.revealViewController(), action: #selector(SWRevealViewController.panGestureRecognizer), for: .touchUpInside)

menuBtn.addTarget(self.revealViewController(), action: #selector(SWRevealViewController.tapGestureRecognizer), for: .touchUpInside)

revealViewController()
是如何声明的?我在我的
Main.storyboard
中使用
sw\u rear
sw\u front
,然后我使用
menuBtn
打开
revealViewController()
这并没有回答我的问题。请编辑您的问题并添加函数
revalviewcontroller()
。我没有为
revalviewcontroller()
使用任何函数。
menuBtn
控制它。按钮目标并不像您想象的那样引用视图控制器,它正在创建视图控制器的新实例。我添加了图像和您提供的代码,但点击和平移不起作用。然而,它不再显示“可选零”。