2016-08-28 11 views
0

私は、UIButtonに接続されたIBActionを使用してStoryboard Mainに戻そうとしています。私はストーリーボードにいるとき、私は「メイン」のストーリーボードに戻って取得しようと、「オンボーディング」IBActionを使用して1つのストーリーボードから別のストーリーボードに移動するにはどうすればよいですか?

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
    // Override point for customization after application launch. 

    if doneOnce == false { 
     doneOnce = true 
     window?.rootViewController = UIStoryboard.init(name: "Onboarding", bundle: nil).instantiateInitialViewController() 
    } else { 
     window?.rootViewController = UIStoryboard.init(name: "Main", bundle: nil).instantiateInitialViewController() 
    } 

    return true 
} 


これらは私が「3つのコードスニペットあるアプリデリゲートで
はこのようにそれを設定されています私は試しました。

@IBAction func tutorialDone(sender: AnyObject) { 


    let appDelegateTemp = UIApplication.sharedApplication().delegate as! AppDelegate 
    appDelegateTemp.window?.rootViewController = UIStoryboard.init(name: "Main", bundle: nil).instantiateInitialViewController() 


    //let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    //let vc = storyboard.instantiateInitialViewController() 
    //showViewController(vc! as UIViewController, sender: self) 

    //let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    //let vc = storyboard.instantiateViewControllerWithIdentifier("ViewController") as UIViewController 
    //presentViewController(vc, animated: true, completion: nil) 
} 

しかし、私はtutorialDoneをトリガーUIButtonを押したとき、私はこのエラーを取得:事前に

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController tutorialDone:]: unrecognized selector sent to instance 

感謝を!

+0

を参照してくださいあなたのnextViewController

にIDを与えることを忘れないでください

let storyboard = UIStoryboard(name: "myStoryboardName", bundle: nil) let vc = storyboard.instantiateViewControllerWithIdentifier("nextViewController") as UIViewController presentViewController(vc, animated: true, completion: nil) 

onboardingの 'UIViewController'にあります。 – EmilioPelaez

+0

あなたは明確にしていただけますか?私はオンボーディングの最後のステップにあり、現在はメインのストーリーボードに戻ろうとしています。 – MrNaitX

+0

ボタンを表示しているシーンにはカスタムクラスが設定されているため、UIViewControllerに過ぎません。 UIViewControllerはあなたの 'tutorialDone'関数を持っていないので、それはクラッシュします – Paulw11

答えて

0

あなたがなどの識別子を使用してストーリーボードからのViewControllerを開始することができます。私はあなたがクラスを設定するのを忘れて考えるthis_link

+0

私のコメントにはすでにその種類のコードがあります。 テスト済みで同じ結果です。 – MrNaitX

関連する問題