2016-07-23 109 views
1

我創建了一個StoryboardManager對象,它將在一個位置管理所有的故事板和所有ViewController ID。我正在一個錯誤對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

這意味着它說什麼。您已聲明的函數返回類型OnboardingOne的東西:

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

也許你的意思是:

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

感謝。 OnboardingOne是一個班級。正如在上面的方法中登錄一樣,儘管登錄不會導致錯誤。所以我不明白問題是什麼? –

+0

我沒有看到您將OnboardingOne定義爲您發佈代碼中任何地方的類。相反,您將其定義爲類功能。 –

相關問題