2015-03-25 5 views
0

Это говорит Could not find an overload for init that accepts the supplied argumentsXCode 6 бета 4 удобство ошибка инициализации

class MyController: UIViewController { 

    required init(coder aDecoder: NSCoder) {  
     super.init(coder: aDecoder) 
    } 

    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) { 
     super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) 
    } 

    convenience init() { 
     self.init(nibName: "CreditOptionsView", bundle: nil) 
    } 

} 

Почему? Он работал в XCode 6 beta 2

+0

Не удается воспроизвести, компилирует в версии 6.3 бета 4 (6D554n). –

+0

Всегда делайте чистую сборку при обновлении Xcode – zisoft

+0

Я очистил ее (с помощью 'cmd + shift + alt + k') – Caipivara

ответ

3

Я решаю его, записывая пустое переопределение функции, я не знаю, почему быстрый ее не может найти. например:

class MyController: UIViewController { 

    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?){ 
     super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) 
    }  

    convenience init() { 
     self.init(nibName: "CreditOptionsView", bundle: nil) 
    } 

} 

То же самое произошло и в удобном для инициализации UINavigationController и решил снова пустой override добавив:

class MyNavigationController: UINavigationController { 

    override init(rootViewController: UIViewController) { 
     super.init(rootViewController: rootViewController) 
    } 

    convenience init() { 
     self.init(rootViewController: UIViewController()) 
    } 
}