Swift 中如何让子类必须重写父类方法
如何让子类必须实现父类中的方法呢?
有一种方法是结合 protocol(BaseMustMethod) 和 父类(BaseTableViewController) 来实现。
首先先实现一个 父类(BaseTableViewController),然后 写一个 protocol(BaseMustMethod) ,把子类必须写的方法放入到 protocol(BaseMustMethod) 中。
然后 typealias 一个 类型(BaseTableViewCtr) 同时遵守 父类(BaseTableViewController) 和  protocol(BaseMustMethod)。
这样 遵守 BaseTableViewCtr 的类,就同时继承了 父类(BaseTableViewController),还必须实现 protocol(BaseMustMethod) 规定的方法。
如下:
父类
protocol BaseMustMethod {
	func loadNewDate()
}
typealias BaseTableViewCtr = BaseTableViewController & BaseMustMethod
class BaseTableViewController: BaseViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        guard let ctr = self as? BaseTableViewCtr else {
            return;
        }
        ctr.loadNewDate()
    }
}
子类
class TestBase1ViewController: BaseTableViewCtr {
}
extension TestBase1ViewController {
	func loadNewDate() {
		
	}
}
