Например, после представления предупреждения с помощью действия кнопки нажатие кнопки приводит к сбою, когда функция ссылается на табличное представление на экране, которое, по ее словам, равно нулю.
Рассматриваемый виртуальный инструмент встроен в навигационный контроллер и запускаемый модально из VC, который является частью UITabBarController
Таким образом, стек должен быть чем-то вроде UITabBarController -> UINavigationController -> ViewControllerOnScreen -> AlertController
Я решил предыдущую проблему, когда VC исчезал из стека (хотя все еще был на экране_) после нажатия на распознаватель UIGesture с помощью следующего метода:
Код: Выделить всё
func topVC() -> UIViewController {
var topController: UIViewController = UIApplication.shared.keyWindow!.rootViewController!
while (topController.presentedViewController != nil) {
topController = topController.presentedViewController!
}
return topController
}
Однако теперь это tableView на экране, который равен нулю. tableView является свойством VC и объявлен как IBOutlet
Код: Выделить всё
@IBOutlet var tableView : UITableView!
/>Есть ли способ сослаться на нужный мне виртуальный компьютер (тот, что на экране) из навигационного контроллера?
Буду очень признателен за любые предложения.
Подробнее здесь: https://stackoverflow.com/questions/785 ... controller