0
所以我有反過來有與他們相關的精靈的對象。我Object類的一個片段:返回變量的所有者 - Swift
import SpriteKit
class Block {
var sprite : ColourSprite
}
因此,大家可以看到,它有一個變量,它實際上是一個SKSprite(ColourSprite是從SKSpriteNode繼承我的自定義類)。
現在,在遊戲過程中的某些點,這些精靈將被刪除(即sprite.removeFromParent()),但對象顯然還是在某處。
我希望能夠發送對象到垃圾收集一旦他們的精靈都消失了。我想我可以做一些像sprite.getOwner()但我似乎無法找到它。這可能嗎?
我能想到的唯一的其他選擇是手動檢查所有對象並檢查每個人的精靈,但我覺得這是漫長而浪費的。
您是否保留對「塊」對象的任何形式的參考?有事嗎?你有一個塊或什麼東西陣列?在Block類中包裝Spride的目的是什麼? – Pochi
是的,所以我在GameScence中例如:let block1 = Block()。我認爲它的目的是當我創建多個塊精靈時,我不想在設置物理和物體時重複代碼行,所以我在課堂上保留了所有這些功能。 –
爲什麼你說「物體顯然還在某處」?如果你認爲你釋放了所有引用的對象並且沒有被釋放(例如,析構函數沒有被調用),那麼你可能有一個循環引用。 – Michael