В моем ViewController
я объявляю UIGesturerecognitzer
следующим образом:
var scnView : SCNView!
override func viewdidload {
let swipeDownGesture = UISwipeGestureRecognizer(target: self, action: #selector(handleswipedown(_:)))
swipeDownGesture.direction = .down
scnView.addGestureRecognizer(swipeDownGesture)
}
@objc
func handleswipedown(_ gestureRecognize: UIGestureRecognizer) {
if movingallowed == true {
if let scene = scnView.scene as! GameScene {
scene.swipedDown()
}
}
}
GameScene
- это пользовательский SCNScene
класс.
После того, как игрок завершит работу сУровень, я хотел бы представить следующий GameScene
и deinit последний, но это не deinit.Когда я закомментирую GestureRecognizer
, это так.
Я думаю, это потому, что я создаю здесь сильную ссылку:
if let scene = scnView.scene as! GameScene {
scene.swipedDown()
}
Мой вопрос, как мне сделать этослабая ссылка?
Заранее спасибо