所以我写了一个简单的协议:
protocol PopupMessageType{
var cancelButton: UIButton {get set}
func cancel()
}
并有一个customView:
class XYZMessageView: UIView, PopupMessageType {
...
}
然后我现在有:
class PopUpViewController: UIViewController {
//code...
var messageView : CCPopupMessageView!
private func setupUI(){
view.addSubview(messageView)
}
}
但是我想做的是:
class PopUpViewController: UIViewController {
//code...
var messageView : PopupMessageType!
private func setupUI(){
view.addSubview(messageView) // ERROR
}
}
错误我得到:
无法转换类型为'PopupMessageType!'的值。预期的论点
输入“UIView”
编辑:
我正在使用Swift 2.3!
最佳答案
将属性 messageView 的类型更改为(UIView&PopupMessageType)!
我的意思是
class PopUpViewController: UIViewController {
//code...
var messageView : (UIView & PopupMessageType)!
private func setupUI(){
view.addSubview(messageView) // ERROR
}
}
关于ios - 如何将协议(protocol)类型添加为 subview ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46653085/