SwiftUI:如何将字符串数组解析为文本

时间:2020-10-28 17:20:51

标签: swiftui swiftui-foreach

我尝试遵循thisthisthis,但是在从字符串数组获取数据时遇到问题。

我的状态设置为

 businessHours = : [
    "Monday: 7:00 AM – 7:00 PM",
    "Tuesday: 7:00 AM – 7:00 PM",
    "Wednesday: 7:00 AM – 7:00 PM",
    "Thursday: 7:00 AM – 7:00 PM",
    "Friday: 7:00 AM – 7:00 PM",
    "Saturday: 7:00 AM – 7:00 PM",
    "Sunday: Closed"
 ]

这只会让我从数组中获得第一个元素

ForEach(businessHours.indices) {
    Text(self.businessHours[$0])
}

这失败了

ForEach(businessHours.indices) {
    Text(self.businessHours)
}

这在控制台中起作用

for businesshour in businessHours {
print("Hours: \(businesshour).")
}

我在做什么错了?

2 个答案:

答案 0 :(得分:1)

这是一个有效的演示。经过Xcode 12 / iOS 14的测试

enter image description here

struct DemoView: View {
    let businessHours = [
         "Monday: 7:00 AM – 7:00 PM",
         "Tuesday: 7:00 AM – 7:00 PM",
         "Wednesday: 7:00 AM – 7:00 PM",
         "Thursday: 7:00 AM – 7:00 PM",
         "Friday: 7:00 AM – 7:00 PM",
         "Saturday: 7:00 AM – 7:00 PM",
         "Sunday: Closed"
     ]

    var body: some View {
        VStack {
            ForEach(businessHours.indices) {
                 Text(self.businessHours[$0])
            }
        }
    }
}

答案 1 :(得分:0)

我知道了。

(0..<businessHours.count, id: \.self) { index in
       Text(self.businessHours[index])
}