2016-07-23 9 views
1

すべてのストーリーボードとすべてのViewController IDを1か所で管理するStoryboardManagerオブジェクトを作成しました。私はあるOnboardingOneための第二のゲッターメソッド、上のエラーを取得しています:宣言されていないタイプのSwift:宣言されていないタイプの 'ViewController'の使用

使用 "OnboardingOne" StoryboardManagerオブジェクトのコードは、

です:

class StoryboardManager: NSObject { 

    class func login() -> UIStoryboard { 
     return UIStoryboard(name: "Login", bundle: nil) 
    } 

    class func CameraView() -> UIStoryboard { 
     return UIStoryboard(name: "CameraView", bundle: nil) 
    } 

    class func OnboardingOne() -> UIStoryboard { 
     return UIStoryboard(name: "OnboardingOne", bundle: nil) 
    } 

    class func MainView() -> UIStoryboard { 
     return UIStoryboard(name: "MainView", bundle: nil) 
    } 

    // MARK: viewController getter methods 
    class func loginViewController() -> Login { 
     return login().instantiateViewControllerWithIdentifier("Login") as! Login 
    } // NO ERRORS 

    class func OnboardingViewController() -> OnboardingOne { 
     return OnboardingOne().instantiateViewControllerWithIdentifier("OnboardingOne") as! OnboardingOne 
    } //ERROR: Use of undeclared type "OnboardingOne" 

} 

私はこれが何を意味するのか、それを回避する方法が何もわからないので、どんな情報も役立つはずです。

ありがとうございました

答えて

0

これは意味です。

class func OnboardingViewController() -> OnboardingOne { // <<-- here 
    return OnboardingOne().instantiateViewControllerWithIdentifier("OnboardingOne") as! OnboardingOne 
} 

はおそらく、あなたが意味:

class func OnboardingViewController() -> ViewController { ... 
+0

ありがとうございますタイプOnboardingOneの何かを返す関数を宣言しました。 OnboardingOneはクラスです。ログインは上記の方法と同様ですが、Loginはエラーを発生しません。だから私は問題が何かを理解していないのですか? –

+0

投稿したコードのどこにでもOnboardingOneをクラスとして定義しているとは思われません。代わりに、それをクラス関数として定義します。 –

関連する問題