Мой class
требует init(size:)
constructor
для initialization
и должен позвонить super.init(size:size)
после моего variables
. Это проблематично c, так как я хочу инициализировать variables
с size
. Если я попробую это:
override init(size: CGSize) {
tileWidth = self.frame.width/8
tileHeight = tileWidth/2
super.init(size: size)
}
... тогда я получу error
высказывание
'self', используемое в доступе к свойству 'frame' перед 'super.init' позвоните
и если я сделаю это:
override init(size: CGSize) {
super.init(size: size)
tileWidth = self.frame.width/8 //140
tileHeight = tileWidth/2
}
... я получаю сообщение об ошибке, говорящее
Свойство self.tileHeight не инициализировано при вызове super.init
Итак, как мне это сделать?
EDIT В этом контексте код выглядит следующим образом:
class TileBoard: SKScene {
let tileWidth:CGFloat
let tileHeight:CGFloat
override init(size: CGSize) {
super.init(size: size)
tileWidth = self.frame.width/8
tileHeight = tileWidth/2
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}