У меня возникает странный сбой, когда я могу использовать предыдущий контроллер представления до того, как контроллер верхнего уровня был уволен.Странное поведение во время перемотки назад назад
На моем основном контроллере представления у меня есть представление таблицы с функцией делегирования didSelectRowAtIndexPath. Функция ниже:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("commentsSegue", sender: self)
}
Это прекрасно работает, однако, если я уже показывать этот экран, я могу выбрать его снова, если я наполовину красть назад. Это сложно объяснить, но вы можете использовать палец для прокрутки назад, а другой - для выбора ячейки на главном диспетчере просмотра. Это создает новый переход к новой «commentSegue». Я могу делать это столько раз, сколько мне нравится, и он будет действовать много раз.
Я попытался преодолеть это с помощью
if (self.presentingViewController?.presentedViewController == self) {
, а также
if (self.navigationController?.topViewController.title == self.title) {
Но обе эти функции возвращают основной ViewController в качестве активного контроллера представления вместо контроллера «commentsSegue».
Как я могу остановить это поведение?