使用字符串更新UIlabel文本

时间:2019-03-10 20:31:56

标签: arrays swift uilabel

我在原型表视图单元格中有一个标签,还有一个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'

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

listCellElements的数组。当您尝试追加到该数组时,您需要添加一个CellElements实例。

但是您的电话:

list.append(inputField.text)

正在尝试附加一个String。因此,自String起的错误不是CellElements

您要做的是从文本字段中创建CellElements的实例,然后附加该实例。

list.append(CellElements(title: inputField.text!))

请注意,您需要String,而inputField.text是可选的String。在这种情况下,您可以安全地强行打开可选组件。有关这样做的安全性,请参见UITextField text的文档。