SwiftでUIAlertControllerの独自クラスを作りたい
コードを整理する目的でUIAlertControllerを使った独自クラスを作りたいと思っています。
限定的な内容なので、OriginalAlertController内に要素(テキストやアクションなど)は全て突っ込んでおいて、あとは初期化するだけにできればと思っていました。
例えば利用するのViewControllerから下記のように呼び出したいです。
let alertController = OriginalAlertController()
presentViewController(alertController, animated: true, completion: nil)
そこで下記のようなクラスを作ろうかとしましたが、「must call a designated initializer of the superclass」のエラーが発生します。
import UIKit
class OriginalAlertController: UIAlertController{
let titleStr = "タイトル"
let messageStr = "メッセージ"
override init() {
super.init(title: self.titleStr, message: self.messageStr, preferredStyle: .Alert) // Error: Must call a designated initializer of the superclass
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
調べるとconvenience initializerは呼べないということでしたが、 どのようにすれば同じような目的を達成できそうでしょうか?