iOS 10 Beta - 调用dequeuereusableCellWithIdentifier时崩溃

时间:2016-07-06 17:52:54

标签: ios swift uitableview storyboard beta

亲爱的iOS开发者,

自从使用iOS 10 Beta和Xcode 8 Beta并迁移到Swift 3后,我发现使用自定义UITableViewCells时我的应用程序出现了奇怪的行为。 当我尝试在cellForRowAtIndexPath中出列自定义单元格时,我遇到了一个带有NSException的崩溃 - 除了我在代码中手动注册单元格时。但是,对于所有自定义单元格都不会发生这种情况,并且我不知道为什么某些单元格会被注册,而有些单元格不会被注册。 当我在代码中手动注册单元格时,自定义内容不会显示,而是显示为纯白色。 这意味着Storyboard由于某种原因无法正确注册单元格。

  • 我正在使用Prototype Cells。
  • 单元格标识符在Storyboard和cellForRowAtIndexPath中相同。
  • 我使用的是iOS 10 Beta 2和Xcode 8 Beta 2(虽然它已经发生在第一个测试版中。)
  • 我使用的是Swift 3。

这里有人有同样的问题吗?它完全让我疯狂,而且我对如何解决这个问题的想法不足。

- >这有效,但会产生空白单元格:

ndarray

- >这会导致应用崩溃:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    tableView.register(ProgressCell.self, forCellReuseIdentifier: Storyboard.progressCell)
    let cell = tableView.dequeueReusableCell(withIdentifier: Storyboard.progressCell) as! ProgressCell

  **Configuring the cell here**

    return cell
}

Storyboard.progressCell正在使用一个结构,我存储了所有的故事板标识符。

在更新到新版本的Xcode和Swift 3之前,一切正常。

这是崩溃的日志:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: Storyboard.progressCell) as! ProgressCell

    **Configuring the cell here**

    return cell
}

1 个答案:

答案 0 :(得分:0)

此问题可能是由于故事板上控件和变量之间的连接所致。如果有未使用或未连接的出口变量,请检查出口变量