在实例化对象SwiftUI IOS APP时,传递给不接受参数的调用的参数



对于我的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()
}
}

最新更新