У меня есть класс SKScene, в котором мне нужно реализовать пользовательский инициализатор, который переопределяет инициализатор init (fileNamed: fileNamed) SKScene суперкласс SKNode, чтобы выполнить некоторые проприетарные инициализации но сохраните возможность, предлагаемую init (fileNamed: fileNamed), чтобы загрузить сцену из построителя интерфейса.Как переопределить SKScene init (fileNamed: fileNamed)
У меня есть некоторые проблемы, чтобы найти правильный синтаксис. Я попытался следующие:
class Try: SKScene
{
override init(fileNamed: String)
{
super.init(fileNamed: fileNamed)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
Но он возвращает ошибку: Initializer не отменяет назначенный инициализатору от суперкласса
Это, однако, назначенный инициализатор от суперкласса, а не непосредственный суперкласса, который является SKEffectNode, но выше, чем SKNode. Как я могу переопределить инициализатор в этом случае?
J.
Не работает. Это цикл бесконечно. Я думаю, потому что self.init вызывает объявленное выше назначение удобства, а не одно из суперкласса. – jbegood