【发布时间】:2017-01-19 05:40:09
【问题描述】:
目标是继承 SCNNode。根据class docs,init(geometry geometry: SCNGeometry?) 是一个指定的初始化器(没有列出convenience 关键字),那么这段代码不是在调用其超类的指定初始化器吗?
为什么 Xcode 会显示以下错误?
必须调用超类 SCNNode 的指定初始化器
class PreviewNode: SCNNode {
// Constants
let PreviewNodeColor = gRedColor
let Size = CGFloat(1.0)
let ChamferRadius = CGFloat(0.0)
override init() {
let previewBox = SCNBox(width: Size, height: Size, length: Size, chamferRadius: ChamferRadius)
previewBox.firstMaterial!.diffuse.contents = PreviewNodeColor
previewBox.firstMaterial!.transparency = 0.2
previewBox.firstMaterial!.specular.contents = UIColor.whiteColor()
super.init(geometry: previewBox)
}
}
【问题讨论】:
-
@LeoDabus 嗨,您能否发布作为答案并解释为什么会发生错误,即使它似乎正在调用指定的初始化程序?谢谢!
-
@LeoDabus 应该补充说我们之前尝试过您的方法,它有效,但想了解错误发生的原因。
-
为什么投反对票?
标签: ios swift scenekit scnnode