
Swift是不允許設定協議的可選的狀態,協議宣告的方法都是必須實現的。
解決方案一

解決方案二
實現所有宣告的方法
我的做法
在父類中實現宣告的方法
class HLBaseViewController: UIViewController, UIViewCollectEventsDelegate
func uiView(ClickRefreshWithParams params: AnyObject?) {
}
func uiView(uiView: UIView?, CollectEventsType type: AnyObject?, withParams params: AnyObject?) {
}
複製程式碼
在子類中替換掉要實現的方法
class HomeViewController: HLBaseViewController
override func uiView(uiView: UIView?, CollectEventsType type: AnyObject?, withParams params: AnyObject?) {
NSLog("789")
}
複製程式碼