所以我寫了一個簡單的協議:如何添加協議類型爲子視圖
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'
編輯: 我對雨燕2.3!
如果讓popupView = messageView爲? UIView {view.addSubview(popupView)} else {//處理messageView不是UIView的情況} – Lukas
相關:https://stackoverflow.com/questions/26401778/in-swift-how-can-i-declare -a-variable-of-a-specific-type-that-conforms-to-one-o – dan
Swift 2.3已被棄用且不受任何當前工具支持......爲了您自己的利益,請升級。 – PeejWeej