带有字符串子字符串的SwiftUI 5.5初始化数组? [关闭]
Posted
技术标签:
【中文标题】带有字符串子字符串的SwiftUI 5.5初始化数组? [关闭]【英文标题】:SwiftUI 5.5 Init array with substring of string? [closed] 【发布时间】:2022-01-05 04:02:26 【问题描述】:我已经为我的视图编写了示例数据,它看起来/有效,但现在我想用实际数据替换我的示例数据。我已经成功传递了两个字符串。我正在尝试对其进行子串化,并将 NamedWeek 数组的 wDD 和 wRead 元素替换为实际数据。有人可以帮我怎么做吗?
我传入的字符串如下所示: 对于 wDD -
let string1 = "21|22|23|24|25|26|27"
对于 wRead -
let string2 = "Dan 9|Rev 14|Eze 38|Matt 24|Joel 2|Gen 3|Jer 18"
struct NamedWeek: Identifiable
let wDay: String
var wDD: String
var wRead: String
var id: String wDay
var namedWeeks: [NamedWeek] = [
NamedWeek(wDay: "Sun", wDD: "15", wRead: "Leviticus 26"),
NamedWeek(wDay: "Mon", wDD: "16", wRead: "Psalm 45"),
NamedWeek(wDay: "Tue", wDD: "17", wRead: "Test 3"),
NamedWeek(wDay: "Wed", wDD: "18", wRead: "Test 4"),
NamedWeek(wDay: "The", wDD: "19", wRead: "Test 5"),
NamedWeek(wDay: "Fri", wDD: "20", wRead: "Test 6"),
NamedWeek(wDay: "Sat", wDD: "21", wRead: "Test 7")
]
我正在尝试做类似的事情
var token = string1.components(separatedBy: "|")
然后将 wDD 替换为 token[0] 然后 token[1] 或者我是否可以插入一个 func(不知道这是否可能) 谢谢
【问题讨论】:
欢迎来到 SO - 请使用 tour 并阅读 How to Ask 以改进、编辑和格式化您的问题。如果没有Minimal Reproducible Example,就无法帮助您进行故障排除。 注意var id: String
后面的错误代码和下面的变量,那应该是什么?请修复它。并解释NamedWeek
是如何创建的。
您离开了 wDay
,您的示例中wRead
的值来自哪里?
现在 wRead 已经加载了测试数据。我想要做的是用 string2 的实际子字符串替换它。
【参考方案1】:
您可以按|
字符拆分,将数组压缩在一起,然后将其附加到namedWeeks
。
代码:
let string1 = "21|22|23|24|25|26|27"
let string2 = "Dan 9|Rev 14|Eze 38|Matt 24|Joel 2|Gen 3|Jer 18"
let zipped = zip(string1.split(separator: "|"), string2.split(separator: "|"))
let weekdays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
var namedWeeks = [NamedWeek]()
for (index, element) in zipped.enumerated()
namedWeeks.append(NamedWeek(wDay: weekdays[index], wDD: String(element.0), wRead: String(element.1)))
print(namedWeeks)
【讨论】:
谢谢!如果没有你的知识,我永远不会想到这一点 @abbey 太好了,只需将其标记为已接受,以便其他人将来也可以更轻松地找到它:)以上是关于带有字符串子字符串的SwiftUI 5.5初始化数组? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章