swift自定义委托方法中IBOutlet引用中的问题

swift自定义委托方法中IBOutlet引用中的问题,swift,xcode,delegates,iboutlet,Swift,Xcode,Delegates,Iboutlet,有一个控制器,我们使用一个分段控制器。还有一个右导航栏按钮,现在我们想在分段控制器上单击显示一个弹出视图 所以我为那个按钮操作做了一个自定义委托 单击按钮后,将触发自定义委托方法,该方法工作正常 现在,如果我想在代理操作中访问弹出视图的IBOutlet,那么它会显示“Nil” 包含分段控制器、容器视图和右导航栏按钮的主控制器: // this is a protocol for button click @objc protocol ClassList { func classData(

有一个控制器,我们使用一个分段控制器。还有一个右导航栏按钮,现在我们想在分段控制器上单击显示一个弹出视图

所以我为那个按钮操作做了一个自定义委托

单击按钮后,将触发自定义委托方法,该方法工作正常

现在,如果我想在代理操作中访问弹出视图的IBOutlet,那么它会显示“Nil”

包含分段控制器、容器视图和右导航栏按钮的主控制器:

// this is a protocol for button click
@objc protocol ClassList {
    func classData(id:NSArray,className:NSArray)
}
// this is button action method of right navigation bar button
@IBAction func classFilter(sender: AnyObject) {
        //dispatch_async(dispatch_get_main_queue()) {
        self.delegate?.classData(self.classID as NSArray, className: self.dataPicker as NSArray)
    //}
}
分段控制器:

func classData(id: NSArray, className: NSArray) {
// method fire correctly
        self.pickerView.hidden = false // crash app because pickerView reference nil
    }

插座连接了吗?是的,它连接了。需要更多的代码,因为这工作正常。尝试删除
self
。据我所知,它工作正常,但我不知道它为什么会在我的senerio中出错。为什么它将插座引用为nil?插座是否已连接?是的,它已连接。需要更多代码,因为这工作正常。尝试删除
self
。据我所知,它工作正常,但我不知道它为什么会在我的senerio中出错。为什么它会引用“零”?