Swift 3 で swinject を使用しています。.xib ファイルにある別のビュー コントローラーである現在のビュー コントローラーに表示しようとしています。
swinject を使用しないプロジェクトで実行すると、機能します。私のプロジェクトでは、swinject を使用するとクラッシュします: libc++abi.dylib: 型 NSException のキャッチされない例外で終了します
ビューコントローラーを定義するために使用するコードは次のとおりです。
let container = Container() { c in
c.register(testViewController.self) { r in
let myVC = testViewController(nibName: "testView", bundle: nil)
return myVC
}
}
現在のviewControllerにtestViewControllerを表示しようとする方法は次のとおりです(たとえば、ボタンをクリックしたIBActionで):
self.present(container.resolve(testViewController.self)!, animated: true, completion: nil)
成功せずに別のソリューションを試しました。swinject を削除することはできません (この選択は私のものではありません)。さまざまなステップで表示するビューコントローラーがたくさんあるため、.xib ファイルを使用する必要があります。
助けてくれてありがとう。オリビエ