2014-12-26 1 views
0

У меня есть этот кусок кода ниже, который предназначен для использования в качестве настраиваемого контроллера табор. Проблема в том, что когда я создаю, я получаю и ошибку, только если в коде есть функция viewWillAppear. Если я прокомментирую это, проект будет построен и работает нормально.Ошибка компиляции в Swift после вставки функции viewWillAppear

Вот функция:

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 синтаксис немного.

В вызовах метода Swift нет квадратных скобок. Вы просто называете их object.methodname() (и после object не требуется места или стилистически).

Это:

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

будет лучшем случае быть интерпретированы Swift, как принимать результат от performSegueWithIdentifier и поместив его в массив с одним элементом (хотя это должно составить, так что может быть что-то еще не так).

Попробуйте просто написать self.performSegueWithIdentifier("viewController1", sender: self.buttons.0) без [] и пробел и посмотреть, не скомпилирует ли оно или, по крайней мере, даст вам более полезное сообщение об ошибке.

+0

Ваше предложение и по-прежнему получили ту же ошибку. –

Смежные вопросы