在Canvas SwiftUI上崩溃

15
我正在使用新的iOS框架SwiftUI实现一个小应用程序。 我正在使用@EnvironmentObject将我的数据绑定到视图。 一切正常,但画布崩溃并且没有显示任何内容。为什么?
struct CompetitionsListSwiftUIView : View {

    @EnvironmentObject var competitionsViewModel: CompetitionsViewModel

    var body: some View {
        List(self.competitionsViewModel.competitions.identified(by: \.id)) { competition in
                CompetitionCellSwiftUIView(competition: competition)
            }
    }
}

#if DEBUG
struct CompetitionsListSwiftUIView_Previews : PreviewProvider {
    static var previews: some View {
        CompetitionsListSwiftUIView()
    }
}
#endif
< p >Canvas的错误信息是这样的:

Error Domain=render service Code=12 "Rendering service was interrupted" UserInfo={NSLocalizedDescription=Rendering service was interrupted}
1个回答

31
尝试将您的环境对象添加到预览中:
#if DEBUG
struct CompetitionsListSwiftUIView_Previews : PreviewProvider {
    static var previews: some View {
        CompetitionsListSwiftUIView()
          .environmentObject(CompetitionsViewModel())
    }
}
#endif

1
救了我的一天。编译器没有显示任何相关错误。在预览情况下,错误报告不好。 - Sandeep Rana
Xcode团队应该为预览画布崩溃的原因添加更多的调试信息。 - Christopher J.
XCode 的最具描述性错误消息真是让人爱不释手啊,它为我节省了数小时的烦恼。谢谢! - Matthew Cawley
谢谢!你救了我不疯狂。 - Bogdan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接