我得到了意外发现的nil错误,即使我在使用该值之前检查了nil。我错过什么了吗?

if self.orders[indexPath.row]["distanceToHouseHold"] != nil {
    cell.distanceTextField.text = "\(self.orders[indexPath.row]["distanceToHouseHold"] as! String)m"
}

当然,错误就在第二行。

最佳答案

可能distanceToHouseHold不是字符串,并且在类型转换时失败。尝试使用if-let检查或新的guard检查。

if let distance = self.orders[indexPath.row]["distanceToHouseHold"] as? String {
    cell.distanceTextField.text = "\(distance)m"
}

09-05 17:51