【发布时间】:2019-11-03 14:35:21
【问题描述】:
我想通过Struct 的init() 方法在SwiftUI 中初始化@State var 的值,以便它可以从准备好的字典中获取正确的文本,以便在TextField 中进行操作。
源代码如下所示:
struct StateFromOutside: View {
let list = [
"a": "Letter A",
"b": "Letter B",
// ...
]
@State var fullText: String = ""
init(letter: String) {
self.fullText = list[letter]!
}
var body: some View {
TextField($fullText)
}
}
不幸的是,执行失败并出现错误Thread 1: Fatal error: Accessing State<String> outside View.body
我该如何解决这种情况?非常感谢您!
【问题讨论】:
-
使用
State(initialValue:) -
@Daniel 请在第二个数字上以 150+ 作为已接受的答案。和我一样,很多人都错过了第二个答案,并且卡住了很长时间。
-
most upvoted answer 可能是您想要的答案,而不是接受的答案。
标签: swiftui