带有字符串子字符串的 SwiftUI 5.5 Init 数组?

SwiftUI 5.5 Init array with substring of string?

我已经为我的视图编写了样本数据,它 looks/works 但现在我想用实际数据替换我的样本数据。我已经成功传递了两个字符串。我正在尝试对其进行子字符串化,并用实际数据替换 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: "|") 

然后用 token[0] 替换 wDD 然后用 token[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)