Невозможно перенаправить на другой контроллер представления с помощью действия предупреждения - PullRequest
0 голосов
/ 06 сентября 2018

Я хочу, чтобы пользователь был перенаправлен на другой контроллер представления при нажатии кнопки OK в появившемся действии предупреждения. Пользователь должен быть направлен при нажатии кнопки OK, а не сразу, когда отображается это предупреждение. Вот что я попробовал:

let alert = UIAlertController(title: "Succesful", message: "Successfully added!", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
self.present(alert, animated: true)
let uivc = self.storyboard!.instantiateViewController(withIdentifier: "FourthViewController")
self.navigationController!.pushViewController(uivc, animated: true)

Приложение не аварийно завершает работу, но оно также не направляется на другой контроллер моего представления при нажатии кнопки OK. Как я могу исправить эту проблему?

Я был бы очень рад, если бы кто-нибудь мне помог!

Редактировать: Я считаю, что мой вопрос был неправильно понят, поэтому я попытался объяснить вещи более четко, извините за мой плохой английский.

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018
  1. Убедитесь, что вы вызываете правильный файл пера
  2. Убедитесь, что вы установили идентификатор раскадровки в раскадровке.
0 голосов
/ 06 сентября 2018

Перейдите к так называемому «FourthViewController» в вашей раскадровке и установите для него идентификатор - это отличается от имени, поэтому оно может сбить с толку. Я прикрепил скриншот, надеюсь, это поможет!

enter image description here

и действия, которые вы хотите выполнить с помощью оповещения, должны обрабатываться «обработчиком», обычно я предпочитаю помещать это в свой собственный метод, но для простоты в вашем случае будет работать следующее:

let alert = UIAlertController(title: "Succesful", message: "Successfully added!", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { _ in
    let uivc = self.storyboard!.instantiateViewController(withIdentifier: "FourthViewController")
    self.navigationController!.pushViewController(uivc, animated: true)
}))
self.present(alert, animated: true)
...