2015-12-26 32 views
1

我试图创建一个子类中,我会添加更多的功能和性能的SCNParticleSystem对象。实现在子类中添加自定义参数自定义的初始化,在斯威夫特

在斯威夫特的SCNParticleSystem头文件只此init声明:

public convenience init?(named name: String, inDirectory directory: String?) 

所以,我想要做的就是使用相同的参数init而且还添加了自定义参数的init这样和做一些设置我的属性:

init how ? (particleSystemFileName:String, inDirectory:String, parentNode:SCNNode) 
{ 
    init who ? 

    <setup my stuff> 
} 

我只是不知道如何做到这一点?

THX

回答

4

它只是无法从子创造便利的init调用方便的init的超类。为什么?初始化器必须遵循3个规则:

  1. 一个指定初始化必须调用其 直接超类的指定初始化。
  2. 的简便初始化必须调用从 同班另一个初始化。
  3. 的简便初始化最终必须调用指定的 初始化。

图,显示你实际上可以做初始化&子类(more on that topic):

enter image description here

你可以做的是某种setup()方法,将自定义创建的实例具有给定属性的子类。

+0

谢谢你,这就是我有去了。 – StackUnderflow

相关问题