Ios Swift 2-未调用协议委托
我试图实现一个Ios Swift 2-未调用协议委托,ios,delegates,swift2,protocols,Ios,Delegates,Swift2,Protocols,我试图实现一个委托,以便在主viewController中调用事件 当我尝试在主视图控制器中调用代理时,我得到错误: 实例成员“委托”不能用于类型 “CustomPickServiceController” 我错过了什么 在我的委托文件中,我有: protocol CustomPickerViewControllerDelegate: class { func CustomPickerDidSelectRow(sender:CustomPickerViewController) }
委托
,以便在主viewController中调用事件
当我尝试在主视图控制器中调用代理时,我得到错误:
实例成员“委托”不能用于类型
“CustomPickServiceController”
我错过了什么
在我的委托文件中,我有:
protocol CustomPickerViewControllerDelegate: class {
func CustomPickerDidSelectRow(sender:CustomPickerViewController)
}
//MARK: The Main Class
public class CustomPickerViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
// DELEGATE
weak var delegate: CustomPickerViewControllerDelegate?
override public func viewDidLoad() {
super.viewDidLoad()
customPicker.delegate = self
customPicker.dataSource = self
.....
}
public func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if component == 0 {
}else {
customLabel.text = arrayCustom[row]
self.delegate?.CustomPickerDidSelectRow(self)
}
}
}
主视图控制器:
class ViewController: UIViewController, CustomPickerViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
CustomPickerViewController.delegate = self // ERROR
}
func CustomPickerDidSelectRow(sender: CustomPickerViewController) {
print("ok")
}
}
您只需像使用CustomPickerViewController
一样进行分配即可。您需要为该视图控制器创建新对象,然后分配代理
例如:
let customPickerVC = CustomPickerViewController()
customPickerVC.delegate = self
谢谢你这么做,我已经添加了viewController。presentViewController
现在正在工作