我了解到UILabel的text属性是可选的,我尝试添加else,但是不知道还要添加什么。
productData.product.productName是我从数据库中获取产品的名称
if var pName = productData.product.productName { //error
self.productName.text = pName
}
@IBOutlet weak var pName: UILabel!
用于条件绑定的Initializer必须具有Optional类型,而不是'String'是我得到的错误,它在起作用,我认为我不确定它哪里出错了
答案 0 :(得分:0)
它指出,无需使用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)
}
答案 1 :(得分:0)
似乎编译器在抱怨productData.product.productName
不是可选的。 if var name = ____
构造仅适用于Optional。
如果要测试非空字符串,则可能需要检查count
或isEmpty
。