我很感兴趣,为什么我收到此错误:
条件绑定的初始化程序必须具有可选类型,而不是[String]
这是我的代码:
class MainVC: UIViewController {
@IBOutlet weak var typesField: IQDropDownTextField!
override func viewDidLoad() {
super.viewDidLoad()
let elements: Array<String?> = ["Electronics", "Cars", "Toys"]
typesField.isOptionalDropDown = false
typesField.itemList = (elements as? [String])!
}
@IBAction func savePressed(_ sender: UIButton) {
var item: Item!
if let types = typesField.itemListUI {
item.type = types
}
}
}
答案 0 :(得分:0)
条件绑定的初始化程序必须具有可选类型,而不是[String]
表示表达式的右侧(typesField.itemListUI
)不是可选的,不需要可选的绑定
所以改为
if let types = typesField.itemListUI {
item.type = types
}
写一下
item.type = typesField.itemListUI
否if let
,没有额外的局部变量。