Swift 3 ObjC Optional Protocol Method Not Called in Subclass
I have the following class hierarchy: class ScrollableViewController: UIViewController, UITableViewDelegate { // ... } That implements one UITableViewDelegate protocol method, e.g. tableView:willDisplayCellAt: In my class SpecificScrollableViewController , which inherits from ScrollableViewController , new optional protocol methods don't get called any more, e.g. tableView(_:heightForRowAt:) tl;dr you need to prefix the function declaration with its Objective-C declaration, e.g. @objc(tableView:heightForRowAtIndexPath:) func tableView(_ tableView: UITableView, heightForRowAt indexPath: