Swift 泛型';文本字段';需要表单中的参数

Swift 泛型';文本字段';需要表单中的参数,swift,swiftui,Swift,Swiftui,我有以下表格: struct RentView: View { @ObservedObject private var viewModel: RentViewModel init(viewModel: RentViewModel){ self.viewModel = viewModel } var textField : TextField var body: some View { Navi

我有以下表格:

struct RentView: View {
    
    @ObservedObject private var viewModel: RentViewModel
    
    init(viewModel: RentViewModel){
        self.viewModel = viewModel
    }
    
    var textField : TextField

    var body: some View {
        NavigationView {
            Form {
                Section(header: Text("Enter total rent")
                    .fontWeight(.bold)) {
                    TextField("Total rent", text: $viewModel.amount.totalRent)
                        .keyboardType(.decimalPad)

                }
                Section(header: Text("Enter total bills?")
                    .fontWeight(.bold)) {
                    TextField("Total bills", text: $viewModel.amount.totalBills)
                        .keyboardType(.decimalPad)

                }
                Section(header: Text("Enter wages?")
                    .fontWeight(.bold)) {
                    TextField("Your monthly wage", text: $viewModel.amount.myMonthlyIncome)
                        .keyboardType(.decimalPad)
                }
                Section(header: Text("What are the wages of your housemates?")
                    .fontWeight(.bold)) {
                    ForEach(viewModel.incomes.indices){
                        index in TextField("Housemate \(index + 1)", text: $viewModel.incomes[index])
                        .keyboardType(.decimalPad)
                    }
                }
                Section {
                    Text("Your share: £\(viewModel.yourShare, specifier: "%.2f")")
                        .fontWeight(.bold)
                        .font(Font.system(size: 22, design: .default))
                        .font(.subheadline)
                }.foregroundColor(Color.red)
                if textField != nil && !textField.hasText {
                    Text("Please fill in all sections")
                }
            }
        }
    }
}
这将根据收入平均计算室友之间的租金。但是,只有在填写完所有表格后,才会更新。因此,我想弹出一条消息,说“请填写所有部分”(如上在最后一节),如果一个文本字段已被留空。但是我得到了一个错误:“引用泛型类型‘TextField’需要参数”我对Swift很陌生,不确定这里需要什么参数,为什么

我的租金视图模型如下所示:



import Foundation
import Combine

class RentViewModel : ObservableObject {
    
    @Published var amount: Amounts
    @Published var incomes: [String]
    
    init(_ amount: Amounts, housemates: Int){
        self.amount = amount
        self.incomes = Array(repeating: "", count: housemates)
    }
    
    var myMonthlyIncome : String { return amount.myMonthlyIncome }
    var housemateMonthlyIncome : String { return amount.housemateMonthlyIncome }
    var totalRent : String { return amount.totalRent }
    var totalBills : String { return amount.totalBills }
    
    var yourShare: Double {
        guard let totalRent = Double(totalRent) else { return 0 }
        guard let totalBills = Double(totalBills) else {return 0 }
        guard let myMonthlyIncome = Double(myMonthlyIncome) else { return 0 }
        let incomesInt = incomes.compactMap { Int($0) }
        let housemateMonthlyIncome = Double(incomesInt.reduce(0, +))
        let totalIncome = Double(myMonthlyIncome + housemateMonthlyIncome)
        let percentage = myMonthlyIncome / totalIncome
        let householdTotal = totalRent + totalBills
        let value = (householdTotal * percentage)

        return (round(100*value)/100)
    }
}

你能分享你剩下的代码吗?需要最小的、可复制的示例,所以我们可以复制您的问题—这是模型和绑定中不匹配类型的问题。你会显示RentViewModel和内部构件吗?@Asperi我已更新显示RentViewModel这是由于
var textField:textField
和相关的原因-删除所有这些-这是不正确的,并且使条件也基于
viewModel
谢谢@Asperi-你是什么意思使条件基于
viewModel