奇怪的UITableView错误:故障板中出现静态单元格的“断言失败”

时间:2015-10-02 21:39:56

标签: ios iphone xcode swift uitableview

我收到此错误:*** [ - UITableView dequeueReusableCellWithIdentifier:forIndexPath:]中的断言失败,带有静态单元格。

我的代码在Swift中(重用标识符是在文件中设置为常量的字符串):

... private let topTableViewCellIdentifier = "topTableViewCell" private let bottomTableViewCellIdentifier = "bottomTableViewCell" ...

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let reuseIdentifier = (indexPath.section == 0) ? topTableViewCellIdentifier : bottomTableViewCellIdentifier


    let cell = tableView.dequeueReusableCellWithIdentifier(reuseIdentifier, forIndexPath: indexPath)
    return cell
}

我已经搜索了堆栈溢出这个错误,发现一堆答案基本上都说同样的事情:确保重用标识符与故事板中单元格的重用标识符相同。

然而,在我的情况下,它是。

我已反复证实这一点,并反复剪切和粘贴,以确保是这种情况。 Xcode清楚地表明正在设置正确的值。我已经打扫过了。我甚至重新开始了。我已经完成了我能想到的一切,并且没有看到故事板中的单元格。它们被设置为静态,并且在检查器中设置了正确的类(尽管它应该通过它获得正确的值来清楚)

enter image description here

任何想法或帮助将不胜感激。我正在使用El Capitan和Xcode 7。

2 个答案:

答案 0 :(得分:2)

如果您尝试对表格视图使用静态布局,通常不会实施tableView:cellForRowAtIndexPath:UITableViewController会为您执行此操作。为静态配置的dequeueReusableCellWithIdentifier:forIndexPath:调用UITableView方法无效(如错误所示)。

答案 1 :(得分:0)

确保您的UITableView设置为Dynamic Prototypes

enter image description here