2014-12-26 23 views
0

我在下面有一段代碼,它的目的是作爲一個自定義tabor控制器。問題是,當我建立我得到和錯誤,只是如果我在代碼中viewWillAppear函數。如果我將它評論出來,那麼這個項目會建立並運行良好。在插入viewWillAppear函數後在Swift中獲得編譯錯誤

這裏的功能:

override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(animated) 
    if self.childViewControllers.count < 1 { 
     self.performSegueWithIdentifier("viewController1", sender: self.buttons.0) 
    } 

} 

這裏是我得到的錯誤:

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1 

回答

0

你混合和Objective-C和匹配斯威夫特語法位。

在Swift方法調用中沒有涉及方括號。您只需撥打電話object.methodname()(並且在object之後沒有空間需求或風格上的期望)。

此:

[self .performSegueWithIdentifier("viewController1", sender: self.buttons.0)] 

將最好的情況下,斯威夫特被解釋爲performSegueWithIdentifier取結果,並把它的單元素數組(雖然這應該編譯,所以有可能是別的東西錯了)。

試着寫self.performSegueWithIdentifier("viewController1", sender: self.buttons.0)而不是[]和空格,看看它是編譯還是至少會產生一個更有用的錯誤信息。

+0

你的建議,並仍然有同樣的錯誤。 –