使用Swift:我已经将NSFetchedResultsController连接到UITableView,并为TableView单元创建了UITableViewCells的子类。
UITableViewCells格式并正确显示。但是一旦我尝试编辑行(添加或删除),应用程序就会崩溃。
为了进行测试,我使用了最基本的子类:空子类,它仍然崩溃。原始的UITableViewCell正常工作。
有什么想法吗? Swift bug?崩溃直接进入堆栈顶部。我在控制台里什么都没得到。
使用:
override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell? {
var cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
let task = fetchedResultController.objectAtIndexPath(indexPath) as Tasks
cell.textLabel.text = task.desc
return cell
}
不能工作:
override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell? {
var cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell2
let task = fetchedResultController.objectAtIndexPath(indexPath) as Tasks
cell.textLabel.text = task.desc
return cell
}
当子类是:
import UIKit
class UITableViewCell2: UITableViewCell {
}
答案 0 :(得分:1)
如果以编程方式创建表格单元格(不在Interface Builder中),则必须使用
注册表格单元格类TableView.registerClass(..., forCellReuseIdentifier...)