1
私はpresent
を使用してビューコントローラを開きます。View Controllerをカスタムデータで初期化するにはどうすればよいですか?
self.storyboard = UIStoryboard(name: "myStoryboard", bundle: nil)
self.myView = self.storyboard?.instantiateInitialViewController() as? myViewController
self.present(self.myView!, animated: true) { _ in }
は、その後、私はイニシャライザ
class myViewController: UIViewController {
var dataA: String?
var dataB: String?
override init(dataA: String, dataB: String) {
self.dataA = dataA
self.dataB = dataB
super.init(nibName: nil, bundle: nil)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}
からデータを取得しようとしているビューコントローラに私がどのように私はinit
をオーバーライドして、この場合にデータを渡す必要があり、エラーにInitializer does not override a designated initializer from its superclass
を取得しますか?
インスタントイニシャライザは、 'instantiateInitialViewController()'を呼び出すときにはまったく呼び出されません。プログラムで最初のView Controllerをインスタンス化する特別な理由はありますか? – vadian
storyboardからviewcontrollerをロードするときに、initWithCoderが呼び出されます。ストーリーボードからviewcontrollerをインスタンス化した後にデータを取得して呼び出すメソッドを作成しないのはなぜですか? –
@vadian私は、ハイブリッドアプリケーション用のCordovaプラグインを作成する例を示しています。これが正しい方法であるかどうかは不明です – vincentf