SwiftUI-文本工作,TextField给出错误

时间:2019-10-21 14:38:17

标签: swiftui

这有效:

ForEach(toDoItems) {toDoItem in
    Text(toDoItem.title)
}

这给出了“类型为'NSManagedObject'的值没有成员'title'”:

ForEach(toDoItems) {toDoItem in
    TextField("", text: toDoItem.title)
}

不知道为什么它不再起作用。数据来自核心数据。

1 个答案:

答案 0 :(得分:1)

文本将String放入其初始值设定项,因为它仅显示它并且不能对其进行突变。文本输入的内容均为只读。 TextField采用绑定,因为它会改变值。绑定将TextField和父视图连接起来,因此它知道输入的任何更改。

例如:

struct ContentView: View {

    let title: String = "This is a string"
    @State var inputString: String = ""

    var body: some View {
        VStack(alignment: .leading) {
            Text(title)
            TextField("Here goes a binding",
                      text: $inputString)
        }
    }
}