У меня есть код, который создает UISearchController' in my UIVIew's
viewDidLoad`.Попытка загрузить представление контроллера представления при его освобождении ... UISearchController
self.resultSearchController = ({
let controller = UISearchController(searchResultsController: nil)
controller.searchResultsUpdater = self
controller.searchBar.delegate = self
controller.dimsBackgroundDuringPresentation = false
controller.searchBar.sizeToFit()
controller.hidesNavigationBarDuringPresentation = false //prevent search bar from moving
controller.searchBar.placeholder = "Search for song"
self.myTableView.tableHeaderView = controller.searchBar
return controller
})()
Сразу после этого замыкания заканчивается, это предупреждение появляется в консоли:
Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior (<UISearchController: 0x154d39700>)
Я не понимаю, что я делаю неправильно. This similar question на самом деле не моя ситуация (по крайней мере, я так не думаю). Что происходит?
https://xkcd.com/583/ Работает нормально, если я бросаю это в свою таблицу VC 'viewDidLoad()'. Рекомендовать a) включая полный список источников VC и b) убедиться, что ошибка действительно происходит там, где и когда вы думаете. – BaseZen
Кроме того, сделайте больше исследований, таких как: http://stackoverflow.com/questions/31006045/view-appear-with-modal-view-animation-instead-of-show-push-animation, которая имеет ту же ошибку – BaseZen
Итак, Я сделал быстрый проект, сделал все прогматически, никаких раскадровки, и у меня нет проблем, это вопрос раскадровки, который у вас есть, может быть, я не знаю, но я полагаю, вы используете раскадровки, не так ли? Когда я говорю программно, я имею в виду не nibs, ни раскадровки, ни весь код, и он отлично работает – Loxx