我有这个代码,我是从默认的MasterDetail应用程序中复制出来的,但是当我运行程序时,它会在单元格的声明中停止。我不知道为什么。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
let object = objects[indexPath.row].title as String
cell.textLabel.text = object
return cell
}
答案 0 :(得分:0)
您还没有注册要在表格视图中使用的单元格
我希望你忘记这样做。
self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "Cell")
如果您没有注册表格查看单元格,那么它可能会返回nil到单元格。
Apple说
let == Constant
var == variable values at any time
那么使用?将被视为可选
你应该喜欢这个
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "Cell")
}
func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
//OR
//var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("Cell") as? UITableViewCell
//Your stuff
return cell
}
答案 1 :(得分:0)
根据This tutorial from Apple,您可能需要查看故事板上的表格视图。
查找表视图的属性检查器,并验证“content”字段是否设置为“Dynamic Prototypes”。更新此修复程序适合我。
此外,当您打开引擎盖时,请确认表视图中有一个表格单元格,并确保它的“标识符”字段设置为tableView.dequeueReusableCellWithIdentifier
方法调用中的值(在你的情况下是“细胞”)