迅速的非无效函数应在警卫队让返回值

时间:2018-11-01 19:55:13

标签: ios swift

    guard let cell = tableView
        .dequeueReusableCell(withIdentifier: cellIdentifier) as? FolderAndFileCell else {
        print("some")
        return
    }

  

非无效函数应返回一个值

我应该在这里返回什么?

2 个答案:

答案 0 :(得分:4)

必须在cellForRowAt

guard let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier) as? FolderAndFileCell else {
    print("some")
    return UITableViewCell()
}

此签名

  

func tableView(_ tableView:UITableView,     cellForRowAt indexPath:IndexPath)-> UITableViewCell

应该具有非无效的返回值


众所周知的方法是

 let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier) as! FolderAndFileCell

答案 1 :(得分:0)

这是您应该执行此操作的实例。

 let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier) as! FolderAndFileCell

您不需要使用防护功能,因为我认为您想将单元格设置为FolderAndFileCell。如果您无法将其设置为该单元格,然后继续并返回UITableViewCell(),则将得到一个空单元格,而不知道原因。

我建议您强制转换为FolderAndFileCell并处理出现的错误,如果存在设置该单元的错误,则只返回一个空单元。