Изменить вид с помощью NavigationViewController
Все это, вероятно, тривиальный вопрос, но я не нашел его решения. Я делаю приложение для Iphone, используя Swift.
У меня есть таблица с некоторыми строками, и если я нажимаю кнопку, я хочу вернуться к предыдущему виду напрямую. Тем не менее, код после моего звонка
navigationController?.popViewControllerAnimated(true)
всегда выполняется, но я хочу, чтобы текущая активность остановилась и вернулась к предыдущему виду.
Код выглядит так:
@IBAction func DeletePressed(sender: UIButton) {
let deleteIndices = getIndexToDelete()
navigationController?.popViewControllerAnimated(true)
print("After navigationController")
for index in deleteIndices{
results?.ListResults[yearShownIndex].months[monthShownIndex].day[dayShownIndex].results.removeAtIndex(index)
}
if (results?.ListResults[yearShownIndex].months[monthShownIndex].day[dayShownIndex].results.count == 0){
results?.ListResults[yearShownIndex].months[monthShownIndex].day.removeAtIndex(dayShownIndex)
}
if (results?.ListResults[yearShownIndex].months[monthShownIndex].day.count == 0){
results?.ListResults[yearShownIndex].months.removeAtIndex(monthShownIndex)
}
if (results?.ListResults[yearShownIndex].months.count == 0){
results?.ListResults.removeAtIndex(monthShownIndex)
}
loadView()
}
"После навигатора" всегда отображается.
В Android вы могли бы начать новую деятельность, создавая намерения получить желаемое поведение, но как это работает на Iphone?
Моя проблема в том, что я хочу иметь возможность вернуться, когда navigationController.popViewControllerAnimated
называется. Это просто игрушечный пример, чтобы понять, как это работает, чтобы я мог использовать его в предложениях if позже.
2 ответа
Вы могли бы просто добавить return
оператор после того, как вы выталкиваете viewcontroller:
@IBAction func DeletePressed(sender: UIButton) {
let deleteIndices = getIndexToDelete()
navigationController?.popViewControllerAnimated(true)
return;
[...]
Если вы не хотите выполнять код после "print("After navigationController")", то удалите этот код
или это невозможно удалить, а затем переключить его при вызове DeletePressed