我在原型表视图单元格中有一个标签,还有一个UITextviewfield
,我想使用UITextviewfield
更新标签的文本。
首先我创建了一个结构:
struct CellElements {
let title: UILabel
}
然后一个数组:
var list = [CellElements] ()
然后我使用这些代码在UITextfield
to列表数组中添加文本,稍后我将它们添加到表视图中。
@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'
我会提前感谢您的帮助。
list
是一系列CellElements
。当您尝试追加到该数组时,您需要添加一个CellElements
实例。
但是你的路线:
list.append(inputField.text)
试图附加一个String
。因此,String
不是CellElements
的错误。
你想要做的是从文本字段创建一个CellElements
实例,然后追加该实例。
list.append(CellElements(title: inputField.text!))
请注意,你需要一个String
和inputField.text
是一个可选的String
。在这种情况下,您可以安全地强行打开可选项。有关这是安全的原因,请参阅UITextField text
的文档。