gpt4 book ai didi

ios - 将对象添加到数组时更新 textView 文本,而不覆盖前一个对象的 textView 文本

转载 作者:行者123 更新时间:2023-11-29 05:26:59 28 4
gpt4 key购买 nike

每当将对象添加到数组中时,我都会尝试更新 TextView ,并在 TextView 中显示该文本,如下所示:

"object 1"
"object 2"

问题是,每次将新对象添加到数组时,它都会覆盖之前的对象,因此它只会显示:

  "object 2"

这是我正在使用的代码,我不完全确定如何附加文本,因此一旦添加新项目,它就会显示数组中的所有项目,而不是仅显示最后添加的项目。

   struct ObjectData {
let name: String
let type: String
let code: Int
}

var updatedObjectArray = [ObjectData]() { didSet {
self.updateObjectData(object: self.updatedObjectArray)
}


func updateObjectData(object: [ObjectData]) {

for objectData in object {
self.ObjectTextView.text = objectData.name
}
}

最佳答案

在 for 循环中,您在每次迭代中将文本设置为新值,从而删除上次迭代的更改。您可以将您的名字附加到一个新字符串,然后在 for 循环末尾设置文本,如下所示:

func updateObjectData(object: [ObjectData]) {
var objectStrings = ""
for objectData in object {
objectStrings += objectData.name + "\n"
}
self.ObjectTextView.text = objectStrings
}

或者通过将 ObjectData 映射到其名称并使用换行符连接来实现无需结束换行符的更快捷方式:

func updateObjectData(object: [ObjectData]) {
self.ObjectTextView.text = object.map({$0.name}).joined(separator: "\n")
}

关于ios - 将对象添加到数组时更新 textView 文本,而不覆盖前一个对象的 textView 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58069099/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com