2014-10-23 3 views
-1

В настоящее время пытается перенести приложение Objective-C в Swift в смешанном режиме. Однако я ударил кирпичную стену.UITableViewController In Swift Crashes

Код:

import Foundation 
import UIKit 

class AboutLocationController : UITableViewController { 
    override init() { 
     super.init(style: .Grouped); 
    } 

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

    override func viewDidLoad() { 
     super.viewDidLoad(); 
     self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "Cell"); 
    } 

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
     return 1; 
    } 

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return 2; 
    } 

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
     var cell: UITableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell; 
     cell.textLabel!.text = "Cell"; 
     return cell; 
    } 
} 

Проблема: Когда это будет работать, он выходит из строя с EXC_BAD_INSTRUCTION (код = EXC_I386_INVOP, субкод = 0x0) и исключение указывается на классе AboutLocationController: UITableViewController {линия ,

Любая помощь будет отличной.

Приветствия

+0

Можете ли вы вставить трассировку стека? – Shai

ответ

0

Для тех, кто с той же проблемой, следующая функция отсутствовала ...

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

Не знаю, почему это нужно, как я никогда не загружая контроллер от кончика пера, но с добавлением он исправляет проблему.

+0

Это проблема, потому что это назначенный инициализатор для контроллера. – Anorak

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