2015-03-20 2 views
0

У меня есть .xib, называемый ContentView.xib, и установите его в класс subview UIView. Я получаю эту ошибку, когда я пытаюсь запустить приложение:Xib fatal error

fatal error: init(coder:) has not been implemented: 

Вот мой код:

class ContentView: UIView { 


    override init() { 
     super.init(frame: CGRect(
      x: 0, 
      y: 0, 
      width: Screen.width, 
      height: Screen.height)) 


     NSBundle.mainBundle().loadNibNamed("ContentView", owner: self, options: nil) 
    } 

    required init(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 
     fatalError("init(coder:) has not been implemented:") 
    } 

Я посмотрел о NSCoder и не смогли найти ничего, чтобы исправить это.

ответ

0

Именно из-за этого кода:

fatalError("init(coder:) has not been implemented:") 

Вы поднимаете утверждение и грохот приложение самостоятельно, удалите этот код, все работает хорошо.

+0

Благодарим за это, он прекратил сбой. Но вид из .xib все равно не появится? –

+0

@StephenFox Потому что вы должны поместить свою установку в метод 'init (coder aDecoder: NSCoder)' для представлений из XIB. –

+0

@StephenFox: Вы установили класс для этого xib? А также загрузите установочный код в initwithcoder, а не в init для xib –