私はUINavigationController
とUINavigationControllerDelegate
を継承するクラスを持っています。UINavigationController派生オブジェクトの初期化子を作成する方法は?
私はviewDidLoad()
でデリゲートを設定しています:
self.navigationController?.delegate = self
ものがスタックにプッシュされているよう(なwillShow
、didShow
など)デリゲートメソッドが呼び出さ取得されていませんが。
このように、過去の質問を読み終えたら、デリゲートをviewDidLoad
よりも初期化子に設定しようとしています。私は100万の組み合わせを試しましたが、コンパイルしたり、呼び出されたりしません。
はコンパイルされません:
convenience init()
{
super.init()
self.navigationController?.delegate = self
}
はコンパイルされません:
convenience init()
{
init(rootViewController: self)
self.navigationController?.delegate = self
}
は、ベースの事をしようと、上など
convenience init()
{
self.init()
self.navigationController?.delegate = self
}
そしていわゆる得ることはありませんコンパイラが言っていることは問題です。しかし、コンパイラは「self
を呼び出す」というようなことを言っているので、それを追加すると「呼び出しからself
を取り除く」というようになります。私は何百万という組み合わせを試して、過去の質問を検索し、イニシャライザをコピー/ペーストしようとしました。私はまだ何か働くことはできません。