2016-09-11 3 views
0

私は現在Swiftにアプリを書いており、すべてのUIをプログラマチックに実装しました。私は疲れているので、最近はstoryboardを使うことに決めましたが、私はバグに悩まされています。値を次のviewControllerに渡します

FirstViewControllerAppDelegateからmainContext上を通過するときに、mainContextの値がnilあります。

 let vc = FirstViewController() 
     vc.mainContext = mainContext 
     window?.rootViewController = vc 

しかし、今、私はそのIDでビューをインスタンス化する必要があるので、私はStoryBoardで働いていること、これは次のように、もはや有効ではありません。最初の場所で、私は、プログラムすべてを書いたとき、私のコードは次のように見えましたこれは

  let storyboard = UIStoryboard(name: "Main", bundle: nil) 
      var vc = storyboard.instantiateViewControllerWithIdentifier("FirstView") as! FirstViewController 
      vc.mainContext = mainContext 

ですが、この場合のコンテキストはnilです。私はこのようなVCをインスタンス化していない場合は、私の店はnilであり、私はこのエラーを取得する:

fatal error: unexpectedly found nil while unwrapping an Optional value 

誰かが私のmainContextを渡す方法を知っていますか?

答えて

1

あなたは

if let vc = self.window?.rootViewController as? FirstViewController { 
    vc.mainContext = mainContext 
} 
この

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
var vc = storyboard.instantiateViewControllerWithIdentifier("FirstView") as! FirstViewController 
vc.mainContext = mainContext 

を交換rootViewControllerにアクセスするには、新しいビューコントローラを作成し、それを何もしていない、rootViewControllerにアクセスしていません

関連する問題