UIViewControllerのdesignated initializerは「initWithNibName:bundle:」なのでこれをcallしないといけない。
Xibから読み込みたくない場合はnilを渡せばいい。以下のような感じ。
init() { super.init(nibName: nil, bundle: nil) }
参考:ios - Why can't I call the default super.init() on UIViewController in Swift? - Stack Overflow