arrays - 使用字符串更新 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'
我会提前感谢您的帮助。
解决方案
list
是一个数组CellElements
。当您尝试追加到该数组时,您需要添加一个CellElements
实例。
但是你的线:
list.append(inputField.text)
正在尝试附加一个String
. 因此错误 since String
is not CellElements
。
您要做的是CellElements
从文本字段创建一个实例,然后附加该实例。
list.append(CellElements(title: inputField.text!))
请注意,您需要一个String
并且inputField.text
是可选的String
。在这种情况下,您可以安全地强制解包一个可选项。请参阅文档以UITextField text
了解为什么这是安全的。
推荐阅读
- css - 重用生成的 CSS 类作为 mixin
- json - 从 json 引用 JSON Schema 类似于 XML 引用 XML Schema
- javascript - 如何从代理数组中删除或插入项目?
- kubernetes - 长请求在 120 秒后返回空响应,由网络负载均衡器引起
- powerbi - Power BI:列中不同计数的平均值
- xml - 如何删除在 XSLT 中应用模板时产生的额外空间?
- matlab - 在 MATLAB 中存储来自 for 循环的向量的更有效方法?
- python - nfcpy:如何使用 NFCPY 正确获取发布事件?
- rotation - Google DFP - 轮播不同尺寸的广告素材
- appium - 启动startActivity驱动后还在以前的包里