DrawView崩溃ios xcode 6
只是一个ios编程新手,决定开始使用Xcode 6.1 swift语言编写ios应用程序 我创建了一个新项目。然后添加了一个新的Cocoa类DrawView。然后单击main.storyboard主视图,并在identity inspector中输入字段类-DrawView 然后我选择了DrawView.swift-取消对drawRect方法的注释并将其放入其中DrawView崩溃ios xcode 6,ios,swift,xcode6,Ios,Swift,Xcode6,只是一个ios编程新手,决定开始使用Xcode 6.1 swift语言编写ios应用程序 我创建了一个新项目。然后添加了一个新的Cocoa类DrawView。然后单击main.storyboard主视图,并在identity inspector中输入字段类-DrawView 然后我选择了DrawView.swift-取消对drawRect方法的注释并将其放入其中 var context:CGContextRef = UIGraphicsGetCurrentContext() CGContextC
var context:CGContextRef = UIGraphicsGetCurrentContext()
CGContextClearRect(context, self.bounds)
并且开始了一个项目,问题是
Path/DrawView.swift:11:11:致命错误:使用未实现的
类“\u d\u Quartz1.DrawView”的初始值设定项“init(coder:)”
为了避免这个问题,我应该怎么做
整个代码:
class DrawView: UIView {
init(frame: CGRect) {
super.init(frame: frame)
// Initialization code
}
override func drawRect(rect: CGRect)
{
var context = UIGraphicsGetCurrentContext()
CGContextClearRect(context, self.bounds)
}
}
你错过了这个:
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
只需将此添加到您的类中,它就会起作用
更新:
单击此链接可获取覆盖此方法的详细答案:
向我们展示
DrawView.swift的全部内容。如果您能解释为什么需要它,这个答案会更好。将initWithCoder
与initWithFrame
等进行比较的目的是什么。这里的解释是:这个答案的真正问题是它无法解决原始问题,因为Olexiy正在从情节提要加载他的绘图视图,这需要正确实现init(coder:)
,未使用fatalError
存根。然而,这是在正确的轨道上。如果修正了我的否决票,我会删除它。好吧,现在在我的日志中我有一个致命的错误:init(coder:)还没有实现:file/Users/alex/Documents/Xcode/Projects/2d_Quartz1/DrawView.swift,第19行如果键入类似的内容-项目通常启动init(coder-aDecoder:NSCoder!){super.init(coder:aDecoder)}