如果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
}
}
}错误是:'ContentView‘不是'FancyTimer’的成员类型
发布于 2020-01-29 17:04:54
通常,问题是您创建的类、结构或枚举与您所在的模块具有相同的名称。
在这里,"FancyTimer“很可能也是您的项目的名称,这会触发错误。
尝试更改类名。
发布于 2019-11-17 22:00:10
在常规设置中更改显示名称和捆绑包标识符修复了我在Xcode 11.1中的这个问题。
发布于 2019-11-17 14:17:03
我遇到了这个问题,点击预览面板上的"Diagnostics“按钮就会发现问题所在。你的项目名为"FancyTimer“吗?如果是这样,那么发生的情况是编译器正在尝试引用FancyTimer.ContentView_Previews,但由于它不是该类的子类型而失败。基本上,项目名称和类名称之间存在冲突。
https://stackoverflow.com/questions/57914903
复制相似问题