【问题标题】:Found nil table view cell找到零表视图单元格
【发布时间】:2016-03-25 20:10:18
【问题描述】:

我有一个二维数组:

var s = [["Maths"],["English"]]

cellPressed 是一个变量,用于查找在前一个视图中按下的单元格,这一切正常

每次我这样做:

func tableView(tableView: UITableView,
               cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let Cell: subjectTableViewCell =
        tableView.dequeueReusableCellWithIdentifier("subjectCell") as! subjectTableViewCell
    Cell.subjectName.text = s[cellPressed][indexPath.row]
    return Cell
}

我明白了:

fatal error: unexpectedly found nil while unwrapping an Optional value

【问题讨论】:

  • 您是否在情节提要中设置了正确的标识符? + 您是否在情节提要中附加了 subjectTableViewCell 类? (还有一件快速的事情:尝试用 lowerCamelCase 命名变量,用 UpperCamelCase 命名类)
  • 是的,我都检查过了,会做吗?抱歉,这是新手
  • 这是您现在使用的确切代码吗?
  • 天哪!我想到了!插座甚至没有连接,这就是为什么我得到零!无论如何,谢谢!
  • James,你可以添加解决方案,这样我就可以做那件事了吗?

标签: ios swift uitableview tableview tableviewcell


【解决方案1】:

这只能是两件事。

  1. 您的单元格为 nil(意味着您设置了错误!)
  2. s[cellPressed][indexPath.row] 为零

实际上,我认为只有第一个是可能的,因为如果超出范围,它实际上会崩溃,因此请确保在访问之前完全配置您的单元格!

【讨论】:

    【解决方案2】:

    试试下面的。您不应该强制展开单元格。

    func tableView (tableView: UITableView, cellForRowAtIndexPath
    indexPath: NSIndexPath) -> UITableViewCell
    {
         let Cell: subjectTableViewCell = tableView.dequeueReusableCellWithIdentifier("subjectCell") as? subjectTableViewCell ?? subjectTableViewCell()
         Cell.subjectName.text = s[cellPressed][indexPath.row]
         return Cell
    

    }

    【讨论】:

    • 另外,从它的声音来看,您的 subjectName 很可能是 nil。如果 Cell.subjectName.text == nil {print("subject name is nil")}
    • 感谢您的帮助,但我想通了,插座甚至没有连接?以为我做到了,但它有些锄头断开了!
    猜你喜欢
    • 2021-02-27
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多