Swiftプロトコルのオプションメソッドをオーバーライドする方法はありますか?Swiftプロトコルとオーバーロードのオプションメソッド
protocol Protocol {
func requiredMethod()
}
extension Protocol {
func optionalMethod() {
// do stuff
}
}
class A: Protocol {
func requiredMethod() {
print("implementation in A class")
}
}
class B: A {
func optionalMethod() { // <-- Why `override` statement is not required?
print("AAA")
}
}
なぜUIKitにも同じような例がありますか?
protocol UITableViewDelegate : NSObjectProtocol, UIScrollViewDelegate {
// ......
optional public func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
}
class MyTVC: UITableViewController {
override func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{}
override
ステートメントが必要です!しかしUITableViewController
"tableView: estimatedHeightForRowAtIndexPath:"
問題は何であるセレクタに応答しませんか?
[Swift Bugs Futureのゴースト](https://nomothetis.svbtle.com/the-ghost-of-swift-bugs-future) – ColGraff
このリンクをご利用いただきありがとうございます! –