带有字符串子字符串的 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)
我已经为我的视图编写了样本数据,它 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)