Ios 在Swift中使用@IBDesignable呈现UIView,崩溃

Ios 在Swift中使用@IBDesignable呈现UIView,崩溃,ios,swift,uiview,Ios,Swift,Uiview,我有一个内置于Paintcode的图形,我正在UIView中显示它。它在应用程序中工作正常,但不会在情节提要中渲染。我读过很多关于重写init框架和init编码器的文章。然而,我找不到一个具体的例子来帮助我解决我的问题,通过展示这些覆盖的实际使用 该图使用14个变量生成条形图。这是课程代码 导入UIKit @IBDesignable class graphRisk: UIView { override func drawRect(rect: CGRect) { StyleKit

我有一个内置于Paintcode的图形,我正在UIView中显示它。它在应用程序中工作正常,但不会在情节提要中渲染。我读过很多关于重写init框架和init编码器的文章。然而,我找不到一个具体的例子来帮助我解决我的问题,通过展示这些覆盖的实际使用

该图使用14个变量生成条形图。这是课程代码

导入UIKit

@IBDesignable

 class graphRisk: UIView {

 override func drawRect(rect: CGRect) {

    StyleKitGraph.drawRiskGraph(ehsScale: ehsScale, ciScale: ciScale, stratScale: stratScale, qaScale: qaScale, delScale: delScale, leadScale: leadScale, peopScale: peopScale, hrmScale: hrmScale, pmScale: pmScale, costScale: costScale, finScale: finScale, assScale: assScale, itsScale: itsScale, engScale: engScale)
}
}

它在应用程序中看起来不错,如果它在变量编码时不呈现也没什么大不了的,设计也很好,但是,我删除了@IBDesignable标记,它仍然会出现相同的错误

最后,当我进入UIView所在的视图控制器时,如何更新UIView

所以问题是,

1如何使该代码示例的渲染工作

2是否有方法不渲染视图,并以此方式停止错误

3当应用程序运行正常时,我是否需要担心错误

4如何使UIView刷新。.setNeedsDisplay等的语法是什么?我尝试了很多东西,但都没有更新、重新加载或刷新


像往常一样,我真诚地欢迎所有的帮助,谢谢你

不确定您使用的是什么版本的Xcode。我使用的是Xcode 6.4

一、 像你一样,已经在许多网站上研究了好几天,并尝试了许多解决方案。他们都没有工作。最后,我删除了自定义UI类的@IBDesignable。不仅错误消失了,自定义UI类的实例在Main.storyboard中预览也很好


也许,在Xcode的新开发中,@IBDesignable不再是必需的

删除@IBDesignable注释后是否重新启动了Xcode?你清理了你的构建吗?谢谢Marc,重启已经解决了这个问题。我现在已经解决了这个问题。在被调用的变量中有一个小故障,这意味着它们在进入UIView时没有被覆盖。