2015-12-26 71 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

相關問題