У меня есть массив данных, и я пытаюсь отобразить его в списке, как в примере с WWDC. У меня нет macOS Catalina, но я использую симулятор, поэтому я думаю, что все должно быть в порядке.
Если я заменим List(rooms)
на List(0..<5)
, так как он будет работать, но когда я попытаюсь передать массив, он ничего не отобразит, только несколько пустых строк.
import SwiftUI
struct ContentView: View {
var rooms: [Room] = []
var body: some View {
List(rooms) { room in
Image(systemName: "photo")
VStack(alignment: .leading) {
Text(room.name)
Text("\(room.capacity) people").font(.subheadline).foregroundColor(.secondary)
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView(rooms: testData)
}
}
Мои данные здесь
import SwiftUI
struct Room: Identifiable {
var id = UUID()
var name: String
var capacity: Int
var hasVideo: Bool = false
var imageName: String { return name }
var thumbnailName: String { return name + "Thumb" }
}
#if DEBUG
let testData = [
Room(name: "Observation Deck", capacity: 6, hasVideo: true),
Room(name: "Executive Suite", capacity: 8, hasVideo: false),
Room(name: "Charter Jet", capacity: 16, hasVideo: true),
Room(name: "Dungeon", capacity: 10, hasVideo: true),
]
#endif
Что я здесь не так делаю?