遇到了heightForRowAt indexPath的问题

时间:2016-12-14 17:39:54

标签: ios swift uitableview

像往常一样,我试图使用以下代码向某个单元格添加一些自定义高度值:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

    var height:CGFloat!

    switch indexPath.row {
    case 5:
        height =  190

    case 6:
        height = 140

    default:
        break
    }

    return height

}

但应用程序因此错误而崩溃: fatal error: unexpectedly found nil while unwrapping an Optional value

我之前没有遇到任何问题,但这次应用程序崩溃了!为什么?

4 个答案:

答案 0 :(得分:1)

您必须实例化高度值

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

    var height:CGFloat = 100

    switch indexPath.row {
    case 5:
        height =  190

    case 6:
        height = 140

    default:
        break
    }

    return height

}

答案 1 :(得分:0)

您没有为行height5定义6。只需将height定义如下。

var height: CGFloat = 100 //Or some other value you need

答案 2 :(得分:0)

在除5和6之外的情况下,您不在height属性中设置任何值。设置默认值:

var height:CGFloat! = 100

或更新default案例:

default:
    height = 100
    break

答案 3 :(得分:0)

height的默认值设置为某个值。您的代码目前返回零值。