У меня есть следующий сценарий.(Все программно реализовано - без раскадровки)
Xcode 9.4, Swift 4.1
- mainViewController с tableView
- Когда ячейка выбрана, я нажимаю VC встек с:
let detailVC = DetailViewController()
self.navigationController?.pushViewController(detailVC, animated: true)
- Подробный ВК имеет подпредставление (GalleyView:
UIView
)
Я могу нажимать detailVC и возвращаться назад, используя кнопку navigationBar
несколько раз, без проблем.
Но ... Когда я добавляю 3 UIImageViews как подпредставления в представление галереи, я могу нажатьdetailVC, но каждый раз, когда время загрузки увеличивается, и через 4 раза (и около 2 секунд) происходит сбой (полностью детерминированный)
Единственное сообщение - следующее, и в Xcode отсутствует трассировка стека сбоев.
Message from debugger: Terminated due to memory issue
Отслеживание использования памяти, оно находится в диапазоне от 15 МБ до 25 МБ без какого-либо явного увеличения между операциями push / pop.
Мне удалось точно определить проблему в addSubview (imageView) в галерее вида
- Если я начнуВ строке
addSubview
он работает, но с добавлением imageViews в представление галереи происходит сбой после 5 операций push. - Сбой не происходит в конкретной строке addSubview, но после завершения
viewWillAppear()
, но прямо перед viewDidAppear()
в detailVC. - Сбои в устройстве и в симуляторе
Я убедился, что я не нажимаю VC рекурсивно или не добавляю представленияили imageViews несколько раз.Я создаю экземпляры объектов каждый раз.Gallery.subViews.count всегда равен 3.
Есть идеи о том, что здесь может происходить? ... e