【问题标题】:SwiftUI 5.5 Init array with substring of string? [closed]带有字符串子字符串的SwiftUI 5.5初始化数组? [关闭]
【发布时间】: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 的实际子字符串替换它。

标签: arrays swift substring init


【解决方案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 太好了,只需将其标记为已接受,以便其他人将来也可以更轻松地找到它:)
猜你喜欢
  • 2016-07-27
  • 1970-01-01
  • 2011-12-11
  • 1970-01-01
  • 2019-12-08
  • 1970-01-01
  • 2010-12-14
  • 1970-01-01
相关资源
最近更新 更多