swift “Form{”返回“将尾随闭包传递给不接受闭包的”FormStyleConfiguration“类型的参数”错误

92dk7w1h  于 12个月前  发布在  Swift
关注(0)|答案(3)|浏览(113)

下面的代码返回前面提到的
传递给不接受闭包的“FormStyleConfiguration”类型的参数的尾随闭包
Form{行上出错。

import SwiftUI

struct ReminderDetailView: View {
    @ObservedObject var reminder: Reminder
    
    var body: some View {
        Form { //Trailing closure passed to parameter of type 'FormStyleConfiguration' that does not accept a closure
            Section(header: Text("Name")) {
                TextField("Name", text: $reminder.name)
            }
            Section(header: Text("Due Date")) {
                DatePicker("Due Date", selection: $reminder.dueDate, displayedComponents: [.date, .hourAndMinute])
            }
            Section(header: Text("Notes")) {
                TextEditor(text: $reminder.notes)
            }
        }
        .navigationTitle("Edit Reminder")
    }
}

字符串
我试着用这样的括号来跟随FormForm(){

2lpgd968

2lpgd9681#

对我来说,它是访问一个带有函数调用括号的属性var。
例如
person.salaryperson.salary()

yi0zb3m4

yi0zb3m42#

我认为你的问题是头部没有按照正确的顺序传递给Section初始化器。它应该出现在内容之后(参见the init(content:header:) initializer signature)。
每次你使用一个头,我会把它改为(例如):

Section {
    TextField("Name", text: $reminder.name)
} header: {
    Text("Name")
}

字符串
希望它能起作用

drnojrws

drnojrws3#

如果你得到这个错误,那么你的括号里有一个问题。那里的错误让编译器相信你想使用第二个init版本,它需要一个FormStyleConfiguration作为参数:

struct Form<Content> where Content : View {
   init(content: () -> Content) {...}
   init(_ configuration: FormStyleConfiguration){...}
   ...
}

字符串
纠正括号内的问题,Form将再次工作。找到问题的最简单方法是注解掉Form {行和结束括号行}

相关问题