有一个控制器,我们正在使用分段控制器。还有一个右侧导航栏按钮,现在我们想在点击控制器上显示一个popupView。
所以我为该按钮操作创建了一个自定义委托。
单击该按钮后,自定义委托方法将触发,并且工作正常。
现在,如果我想在该委托动作中访问弹出视图的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
}