如何快速从字符串值中删除可选?

问题描述 投票:-1回答:1

在代码中,我无法从lbltotalamount内部的值中删除可选的内容。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)
    }
swift optional
1个回答
1
投票

问题出在行中

grandtotal = String(describing: grandtotal)

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

始终使用有条件的向下转换

if success == false {
   if let grandtotal = value["total"] as? Double {
       self.lblTotalAmount.text = String(grandtotal)
   }
}
© www.soinside.com 2019 - 2024. All rights reserved.