我有一个数据数组,我试图在列表中显示它,例如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,Room(name: "Dungeon",capacity: 10,]
#endif
我在这里做什么错了?