Когда выполняется пользовательский переход, экран останавливается и появляется сообщение EXC_BAD_ACCESS - PullRequest
0 голосов
/ 10 апреля 2020

Я собрал свое первое приложение в swift и создал собственный переход, чтобы слайды моей раскадровки были представлены (скользящими) слева направо. Код в моем пользовательском классе segue, который я получил от iOS Segue - Слева направо - , приведен ниже:

import UIKit
class SegueFromLeft: UIStoryboardSegue {
    override func perform() {
        let src = self.source
        let dst = self.destination

        src.view.superview?.insertSubview(dst.view, aboveSubview: src.view)
        dst.view.transform = CGAffineTransform(translationX: -src.view.frame.size.width, y: 0)

        UIView.animate(withDuration: 0.25,
                              delay: 0.0,
                            options: .curveEaseInOut,
                         animations: {
                                dst.view.transform = CGAffineTransform(translationX: 0, y: 0)
                                },
                        completion: { finished in
                                src.present(dst, animated: false, completion: nil)
                                    }
                        )
    }
}

Я изменил некоторые переходы в моей раскадровке на это обычай Последовательность подключения моего начального контроллера вида к контроллеру навигации, который затем подключается к другому контроллеру вида, работает правильно Однако при выполнении другого перехода происходит анимация, но сразу после этого экран зависает.

Этот снимок моей раскадровки, на котором показаны функционирующие и дисфункциональные сегменты

После того, как симулятор зависает, эта строка в классе SegueFromLeft помечается ошибкой:
src.present(dst, animated: false, completion: nil)

В сообщении об ошибке указано «Поток 1: EXC_BAD_ACCESS (code = 2, address = 0x7ffee5c39fb8)», что, по моему мнению имеет какое-то отношение к распределению памяти, но не знаю, как это исправить или почему это происходит.

Мы очень признательны за помощь в устранении этой ошибки.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...