arrays - 如何连接数组中的特定字符串?[SwiftUI]
问题描述
我有一个数组:
struct Main: Identifiable {
var id = UUID()
var value: String
var type: String
}
var mainArray = [Main]()
我需要将这个数组中每个元素的“var value”输出到 Text("")
喜欢 :Text("(main[index].value)")
但我不知道这样做的正确方法
此外,我将需要能够使用以下函数调整我获得的值:
func readMain() -> String {
if main[index].value == "specificContent" { return "Correct" }
else { return "Incorrect"}
}
然后添加我的Text(readMain())
但返回数组中的所有值,如:
Text("Correct, Incorrect, Incorrect, Correct, Correct")
任何想法 ?
提前致谢 !
解决方案
我想你正在寻找这样的东西:
@State private var mainArray = [Main]()
var body: some View {
ForEach(mainArray) { main in
Text(
main.value == "correctValue" ?
"Correct" :
"Incorrect"
)
}
}
这会分别打印 value 属性(mainArray 中每个 Main 元素的)是否“正确”。
但是,如果您希望您的文本出现在一行中,并用空格字符分隔不同的 mainArray 值,您可以这样做:
@State private var mainArray = [Main]()
var body: some View {
Text(
mainArray
.map {
$0.value == "correctValue" ?
"Correct" :
"Incorrect"
}
.joined(separator: " ")
)
}
在上面的示例中,mainArray 被转换为一个字符串数组,其中包含值是否“正确”的描述,然后将这些值连接成一个字符串,并用空格字符(“”)分隔它们。
推荐阅读
- javascript - 调用 window.print() 时,多选下拉菜单被重置
- java - 找出索引之间的最大差异
- sql - 删除字符串值出现在另一个更大的行值中的行
- android - RecyclerView 项目的 PopUpWindow 未正常定位
- javascript - 循环遍历 div 内的 span
- npm - npx create-react-app 未显示 webpack-dev-server 3.11.0 的最新碰撞
- javascript - 在 html 中添加火车游戏需要一点帮助
- heroku - 带有容器堆栈和 ENTRYPOINT 指令的 Heroku 继续使用“/bin/sh -c”运行
- python-3.x - 如何自定义匹配大熊猫数据框?
- c# - 为 2 个不同的外部应用程序创建 2 组 .Net C# 插件,这些应用程序除了命名空间外具有相同的 API