首页 > 解决方案 > 使用字符串更新 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'

我会提前感谢您的帮助。

标签: arraysswiftuilabel

解决方案


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

但是你的线:

list.append(inputField.text)

正在尝试附加一个String. 因此错误 since Stringis not CellElements

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

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

请注意,您需要一个String并且inputField.text是可选的String。在这种情况下,您可以安全地强制解包一个可选项。请参阅文档以UITextField text了解为什么这是安全的。


推荐阅读