在Swift上对UITableViewCell进行子类化 - 错误编辑UITableView行

时间:2014-08-11 14:30:34

标签: uitableview swift

使用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 {

}

1 个答案:

答案 0 :(得分:1)

如果以编程方式创建表格单元格(不在Interface Builder中),则必须使用

注册表格单元格类
TableView.registerClass(..., forCellReuseIdentifier...)