【发布时间】:2015-08-08 23:04:12
【问题描述】:
当我调用 dequeueReusableCellWithIdentifier 时,它会冻结我的代码并且永远不会返回任何单元格(或 nil)我将代码从我的自定义类更改为 UITableViewCell 以确保问题不在我的类中,我还创建了一个全新的空单元格以使用标识符进行调用。
我在调用dequeueReusableCellWithIdentifier 之前和之后添加了一个日志,正如您在屏幕截图中看到的那样,之前的日志被调用一次,之后的日志从未调用。
我尝试清理和构建,清理项目文件夹,删除 DerivedData,重新启动计算机。我看不到任何异常或真正持有代码的内容。
有什么建议吗?
【问题讨论】:
-
它可能不会改变您的问题,但我不确定您是否使用
dequeueReusableCellWithIdentifier正确。它应该返回一个可选单元格,但您将其强制转换为显式展开的单元格(as! UITableViewCell部分)。如果出队操作返回nil(这在您当前的代码中是不可能的),请尝试删除强制转换并添加if (cell == nil) { ... },然后检查以实例化一个新单元格。 -
我也尝试过它也不返回 nil
-
您在使用情节提要吗?如果您已经在情节提要中的某处注册了单元格标识符
"cellOverview",则可以尝试使用更新的方法,该方法保证返回一个单元格(非可选)。如果您使用故事板,请尝试此操作:let cell = tableView.dequeueReusableCellWithIdentifier("cellOverview", forIndexPath: indexPath) -
我认为这与使单元格出队无关。其他东西正在冻结你的线程。
-
就我而言,这个问题解决了问题stackoverflow.com/questions/32611789/…
标签: xcode uitableview parsing