2017-09-10 4 views
0

別のストーリーボードの1つのViewControllerから別のViewControllerに移動するためのコードがあります。今ではストーリーボードとViewControllerがたくさんあるので、ナビゲーションコードを管理する別のファイルを作成したかったのです。しかし、私のコードを私のView Controllerファイル内のナビゲーションファイルから操作するのに問題があります。あなたが私にこれを手伝ってくれることを願っています。ここで他のスウィフトファイルのクラスを呼び出す

は、ナビゲーションのためのコードです:

class Navigation{ 
    func viewNavigation(){ 
     var storyboardName:String 
     var controllerName:String 

     let storyboard = UIStoryboard(name: storyboardName, bundle: nil); 
     let controller = 
storyboard.instantiateViewController(withIdentifier: controllerName) as 
UIViewController; present(controller, animated: false, completion: nil) 

    } 
} 

私もそうその上の任意のヒントが最も参考になる今、「現在」のコード権に問題があります。ここで

は私のビューコントローラのためのコードです:

import UIKit 

class GeographicalFeeder: UIViewController { 
    @IBOutlet weak var GoBackButton: UIBarButtonItem! 
    @IBOutlet weak var ViewTitle: UINavigationItem! 
    @IBOutlet weak var AdministratorButton: UIBarButtonItem! 

    @IBOutlet weak var ComposeButton: UIButton! 

    //Navigation Actions 
    @IBAction func ToHomeFeederVC(_ sender: Any) { 
    } 

コードは、私は先のストーリーボードと先のビューコントローラを埋めることができIBActionで処理する必要があります。

+0

FYI - 変数やメソッド名は小文字で始まることを標準です。アウトレットの名前を修正する必要があります。 – rmaddy

+0

ありがとうございました! –

答えて

0

あなたの問題は正しくキャスティングされていません。あなたのコード:

let storyboard = UIStoryboard(name: storyboardName, bundle: nil); 
     let controller = 
storyboard.instantiateViewController(withIdentifier: controllerName) as 
UIViewController; present(controller, animated: false, completion: nil) 

あなたは、あなたがにsegueingされているコントローラのクラスとして、それをキャストしなければならないときのUIViewControllerとしてコントローラをキャストしています。

あなたが作成したのViewController名でのUIViewControllerを置き換える:

storyboard.instantiateViewController(withIdentifier: controllerName) as 
yourViewControllerClassHere 
+0

問題はありません。全く問題なし。私はあなたが言っていることを理解しようとここに座っていると正直に言うことができます。コードは、Playgroundでは正常に動作しますが、ViewControllerでコンパイルされません。私がSwiftとXcodeで進歩しているように感じるたびに、私は戻ってくるようです。昨日のように、私はそのラベルを知っていたはずです。あなたが指摘したとおり、テキストはオプションでした。でる。心配ない。すてきな一日を! –

+0

私はそれを得ました!私はあなたが今言っていることを完全に得る!ありがとう! –

+0

ありがとう、モリッツ!正直、私はそれを大いに感謝します!今後も質問をしっかりと聞くことができます。 –

関連する問題