目前正尝试使用混合模式将Objective-C应用程序迁移到Swift。但是,我打了一堵砖墙。
代码:
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 {line。
上指示异常。任何帮助都会很棒。
干杯
答案 0 :(得分:0)
对于有相同问题的人,以下功能缺失......
private override init(nibName nibNameOrNil: String!, bundle nibBundleOrNil: NSBundle!) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}
不确定为什么需要它,因为我从不从笔尖加载控制器,但添加它可以解决问题。