1

2 つのプロジェクトを含むワークスペースを作成しました。それらを A と B と呼び、それぞれバンドル IDcom.domain.aと を付けcom.domain.bます。各プロジェクトには、ストーリー ボードと呼ばれるMain.storyboardものがあります。プロジェクト A のストーリーボードにボタンがあり、次のコードを使用してプロジェクト B のストーリーボードからビュー コントローラーをインスタンス化したいと考えています。

@IBAction func clicked(sender: AnyObject) {
    let bundle = NSBundle(identifier: "com.domain.b")
    let storyBoard = UIStoryboard(name: "Main", bundle: bundle)
    let vc = storyBoard.instantiateViewControllerWithIdentifier("aVC")
    self.presentViewController(vc, animated: true, completion: {})
}

プロジェクト B のビュー コントローラーのストーリーボード ID も設定しました。

ストーリーボード ID

しかし、プロジェクトをビルドして実行すると、次の例外が発生します。

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Storyboard (<UIStoryboard: 0x7f8578cd34d0>) doesn't contain a view controller with identifier 'aVC''

ノート:

bundleブレークポイントを使用したところ、コード内の変数がnil. どうして?!

4

0 に答える 0