Сильная ссылка на Custom SCNScene удерживает его от deinit - PullRequest
0 голосов
/ 09 марта 2019

В моем 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()
                }

Мой вопрос, как мне сделать этослабая ссылка?

Заранее спасибо

...