如果 ContentView 引用外部对象,则“ContentView_Previews”不会编译。
如果我删除对@ObservedObject 的所有引用,则预览编译。
import SwiftUI
struct ContentView: View {
@ObservedObject var fancyTimer = FancyTimer()
var body: some View {
Text("\(fancyTimer.timerValue)")
.font(.largeTitle)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
import Foundation
import SwiftUI
import Combine
class FancyTimer: ObservableObject {
@Published var timerValue: Int = 0
init() {
Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true)
{ timer in
self.timerValue += 1
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误是:“ContentView”不是“FancyTimer”的成员类型
Lou*_*Lac 29
通常问题是您创建了一个与您所在的模块同名的类、结构或枚举。
在这里,很可能“FancyTimer”也是您项目的名称,这会触发错误。
尝试更改类名。
我刚刚遇到了这个问题,单击“预览”面板上的“诊断”按钮向我显示了问题。你的项目叫“FancyTimer”吗?如果是这样,则发生的情况是编译器试图引用 FancyTimer.ContentView_Previews,但由于它不是该类的子类型而失败。基本上,您会遇到项目名称和类名称之间的冲突。
| 归档时间: |
|
| 查看次数: |
4475 次 |
| 最近记录: |