可选的是不从字符串中删除,(从Any转换为string)

时间:2019-04-15 07:32:45

标签: swift optional

在代码中,我无法从lbltotalamount内的值中删除optional。 lblTotalAmount中的值未从中删除其可选值。 为什么? grandtotal中的值将变为可选值,但是当我将其分配给标签时,它将再次返回可选值。 lblTottalAmount正在获得一个可选值。我要删除它。

if success == false {
    var  grandtotal: Any?  = value["total"]
    if grandtotal != nil {
        print("O!O!O!O/\(grandtotal!)")
        grandtotal = String(describing: grandtotal)
        self.lblTotalAmount.text = ([grandtotal]) as! String  // (here I am not able to remove optional)
    }

1 个答案:

答案 0 :(得分:0)

问题出在那

grandtotal = String(describing: grandtotal)

您检查nil,但没有解包该值,因此它仍然是可选的。 而且您正在滥用String(describing。切勿将其用于可以通过String方法转换为init的类型。

始终使用有条件的下调

if success == false {
   if let grandtotal = value["total"] as? Double {
       self.lblTotalAmount.text = String(grandtotal)
   }
}