使用String更新UIlabel文本

问题描述 投票:-1回答:1

我在原型表视图单元格中有一个标签,还有一个UITextviewfield,我想使用UITextviewfield更新标签的文本。

首先我创建了一个结构:

struct CellElements {
   let title: UILabel
}

然后一个数组:

var list = [CellElements] ()

然后我使用这些代码在UITextfieldto列表数组中添加文本,稍后我将它们添加到表视图中。

 @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'

我会提前感谢您的帮助。

arrays swift uilabel
1个回答
3
投票

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

但是你的路线:

list.append(inputField.text)

试图附加一个String。因此,String不是CellElements的错误。

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

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

请注意,你需要一个StringinputField.text是一个可选的String。在这种情况下,您可以安全地强行打开可选项。有关这是安全的原因,请参阅UITextField text的文档。

© www.soinside.com 2019 - 2024. All rights reserved.