结构“状态”不能用作属性
我在ContentView.swift文件中有以下代码:
struct ContentView: View {
@State private var selectedSpeed: Int = 1
var body: some View {
Text("Hello World")
}
}
为了可读性,我简化了它。我知道这selectedSpeed没有被使用。
在selectedSpeed声明的行中,我收到以下错误:结构“状态”不能用作属性
有趣的是,在 Playground 中粘贴完全相同的代码会成功构建。我在 Xcode 12.1 上。我已经尝试了 nuking 派生数据和重新打开 Xcode 的组合,但错误仍然存在。任何想法这里有什么问题?
回答
事实证明,我的项目中有一个struct电话State,这导致了问题。
TL;DR:如果你打算使用 SwiftUI,永远不要调用你的任何结构和潜在的类 State。我会将它扩展为不使用与属性包装器冲突的内容命名您的任何类或结构。
这也解释了为什么 Playground 中一切正常。
报告导航器实际上是在给我提示