Ios 条件绑定必须具有可选类型,而不是';字符串';

Ios 条件绑定必须具有可选类型,而不是';字符串';,ios,swift,Ios,Swift,我知道UILabel的text属性是可选的,我尝试添加了一个else,但不确定还要添加什么 productData.product.productName正在从数据库获取产品名称 if var pName = productData.product.productName { //error self.productName.text = pName } @IBOutlet weak var pName: UILabe

我知道UILabel的text属性是可选的,我尝试添加了一个else,但不确定还要添加什么

productData.product.productName正在从数据库获取产品名称

            if var pName = productData.product.productName { //error
              self.productName.text = pName
            }

@IBOutlet weak var pName: UILabel!

条件绑定的初始值设定项必须具有可选类型,而不是“字符串”是我得到的错误,它正在工作。我想我不确定它出了什么问题。

它声明使用if条件是不必要的,因为“productName”不是可选的

可以直接将值添加到标签中

self.productName.text = productData.product.productName //Product name is not optional
当您尝试获取可选值时,将使用可选链接。 例如,如果要获取标签的文本,则需要if条件

if var text = self.productName.text { //Text in label is optional
   print(text)
}

编译器似乎在抱怨
productData.product.productName
不是可选的。
if-var-name=\uuuuuuuuuuuuuuuuuu
构造仅适用于选项


如果您正在测试非空字符串,则可能需要检查
计数
isEmpty

错误非常明显<代码>productData.product.productName不是可选的。您为什么试图打开它?@RakeshaShastri我正在尝试使用productName更新pName标签,那么我如何使用productName更新标签?将“productData.product.productName”分配到标签将更新“productName”。因此我尝试使用pName=productData.product.productName,但无法将字符串分配到UILabel错误