У меня есть контроллер вида, который вызывает другой контроллер вида с present(newViewController...
. Однако всякий раз, когда вызывается функция, которая вызывает эту существующую функцию, новый контроллер представления всплывает на экране на секунду, а затем снова закрывается. В этом новом контроллере представлений нет функций, позволяющих отключать себя.
Единственное, о чем я могу думать, это может быть связано с моим использованием SnapKit и переопределением viewDidLayoutSubviews
:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
if let data = data {
return
} else { setupAVFoundation() }
}
data
- это необязательное значение, которое устанавливается ко времени, когда я представляю новый контроллер представления, поэтому viewDidLayoutSubviews
возвращается в операторе if let
. Однако я подтвердил, что при представлении нового контроллера представления, viewDidLayoutSubviews
вызывается примерно четыре раза. Я не могу понять, почему это происходит или почему это может прервать представление нового контроллера представления.
Вот где представлено новое представление:
func found(code: String) {
print(code)
data = code
present(ItemSelectViewController(), animated: true, completion: nil)
}