对于我的roomList中的每个对象实例化,错误显示"传递给不带参数的调用的参数"。默认情况下,对象应使用参数进行实例化。有人能在这个问题上帮我吗?提前谢谢。
struct RoomListView: View {
@State private var roomList : [Room] = [
Room(images: "room-1",roomType: "Master Room", ownerID: "1", roomDescription: "@#!@$$", favouritedBy: "1,2", roomPrice: 30, contactPeriod: "Long", currentBookedBy: ""),
Room(images: "room-1",roomType: "Master Room", ownerID: "1", roomDescription: "@#!@$$", favouritedBy: "1,2", roomPrice: 30, contactPeriod: "Long", currentBookedBy: ""),
Room(images: "room-1",roomType: "Master Room", ownerID: "1", roomDescription: "@#!@$$", favouritedBy: "1,2", roomPrice: 30, contactPeriod: "Long", currentBookedBy: ""),
]
var body: some View {
List{
ForEach(roomList){
room in RoomCardView(room: room)
.padding(.top, 10)
.padding(.horizontal, 15)
}
}
}
型号/房间swift
import Foundation
struct Room: Identifiable {
let id = UUID()
// let id: String
let images: String
let roomType: String
let ownerID: String
let roomDescription: String
let favouritedBy: String
let roomPrice: Float
let contactPeriod: String
let currentBookedBy: String
let updated_at: Double
let created_at: Double
init(images: String, roomType: String, ownerID: String, roomDescription: String, favouritedBy: String, roomPrice: Float, contactPeriod: String, currentBookedBy: String) {
self.images = images
self.roomType = roomType
self.ownerID = ownerID
self.roomDescription = roomDescription
self.favouritedBy = favouritedBy
self.roomPrice = roomPrice
self.contactPeriod = contactPeriod
self.currentBookedBy = currentBookedBy
self.updated_at = Date()
self.created_at = Date()
}
}
这是我用于测试的代码。它表明它工作时没有任何错误。
import SwiftUI
struct Room: Identifiable {
let id = UUID()
let images: String
let roomType: String
let ownerID: String
let roomDescription: String
let favouritedBy: String
let roomPrice: Float
let contactPeriod: String
let currentBookedBy: String
let updated_at: Date // <-- here
let created_at: Date // <-- here
init(images: String, roomType: String, ownerID: String, roomDescription: String, favouritedBy: String, roomPrice: Float, contactPeriod: String, currentBookedBy: String) {
self.images = images
self.roomType = roomType
self.ownerID = ownerID
self.roomDescription = roomDescription
self.favouritedBy = favouritedBy
self.roomPrice = roomPrice
self.contactPeriod = contactPeriod
self.currentBookedBy = currentBookedBy
self.updated_at = Date()
self.created_at = Date()
}
}
struct RoomListView: View {
@State private var roomList : [Room] = [
Room(images: "room-1",roomType: "Master Room", ownerID: "1", roomDescription: "@#!@$$", favouritedBy: "1,2", roomPrice: 30, contactPeriod: "Long", currentBookedBy: ""),
Room(images: "room-1",roomType: "Master Room", ownerID: "1", roomDescription: "@#!@$$", favouritedBy: "1,2", roomPrice: 30, contactPeriod: "Long", currentBookedBy: ""),
Room(images: "room-1",roomType: "Master Room", ownerID: "1", roomDescription: "@#!@$$", favouritedBy: "1,2", roomPrice: 30, contactPeriod: "Long", currentBookedBy: ""),
]
var body: some View {
List{
ForEach(roomList){ room in
Text(room.roomType) // <-- here for testing
.padding(.top, 10)
.padding(.horizontal, 15)
}
}
}
}
struct ContentView: View {
var body: some View {
RoomListView()
}
}