Swift+Xcode+macOS下.environmentObject相关错误导致预览功能失效
问题原因及修复方案
你当前的预览报错由三个错误共同导致:
- 你在
ListView_Previews中声明的@EnvironmentObject var navVM: NavigationViewModel完全无效:PreviewProvider的previews是静态属性,预览运行时不会自动注入上层环境对象,需要你手动初始化对应实例传入。 - 你注释的
.environmentObject调用存在两处错误:一是调用位置错误,需要附加在ListView()实例后;二是多余添加了navVM:参数标签,environmentObject修饰器不需要显式参数名,直接传入实例即可。 - 代码中所有的
"是HTML转义字符,需要替换为正常的双引号"才能正常编译。
修正后的预览代码
struct ListView_Previews: PreviewProvider { static var previews: some View { ListView() .environmentObject(NavigationViewModel()) } }
如果你的NavigationViewModel初始化需要传入参数,替换括号内的内容为你对应的初始化逻辑即可。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

