我是xcode和Swift的新手。
当我完成我的应用程序时,我收到错误“SIGABRT”。我听说这很常见,但我在互联网上发现的所有解决方案都不起作用。我也听说我的代码是正确的,但故事板中存在问题。
var NamesOfExercises = [
["name":"example1"],
["name":"example2"],
["name":"kexample3"]]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return NamesOfExercises.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("mycell") as! ExercisesTableViewCell
cell.nameLabel.text = NamesOfExercises[indexPath.item] ["name"]
return cell
}
屏幕:
`
答案 0 :(得分:0)
您的视图控制器被定义为表视图控制器(UITableViewController
),但您的NIB中的顶级对象不是表视图(您可能有一个标准视图,甚至可能有一个具有表视图的视图作为子视图)。
如果放在故事板上的场景是标准UIViewController
对象而不是UITableViewController
对象,则可能会出现与故事板非常相似的错误。
如果您正在使用NIB,请确保顶级对象是表格视图。并确保将表视图的插座,委托和数据源连接到NIB的文件所有者。
答案 1 :(得分:0)
确保加载的nib文件的视图是UITableView
对象