我在原型表视图单元格中有一个标签,还有一个UITextviewfield
,我想使用UITextviewfield
更新标签的文本。
首先,我创建了一个结构:
struct CellElements {
let title: UILabel
}
然后是一个数组:
var list = [CellElements] ()
然后,我使用这些代码将UITextfield
内的文本添加到列表数组中,然后将其添加到表视图中。
@IBOutlet weak var inputField: UITextField!
@IBAction func addName(_ sender: UIButton) {
list.append(inputField.text)
}
问题是,Swift不允许我使用此错误进行操作
Cannot convert value of type 'String?' to expected argument type 'CellElements'
感谢您的帮助。
答案 0 :(得分:3)
list
是CellElements
的数组。当您尝试追加到该数组时,您需要添加一个CellElements
实例。
但是您的电话:
list.append(inputField.text)
正在尝试附加一个String
。因此,自String
起的错误不是CellElements
。
您要做的是从文本字段中创建CellElements
的实例,然后附加该实例。
list.append(CellElements(title: inputField.text!))
请注意,您需要String
,而inputField.text
是可选的String
。在这种情况下,您可以安全地强行打开可选组件。有关这样做的安全性,请参见UITextField text
的文档。