В настоящее время я работаю над двумя разными ViewControllers в своем приложении, мы можем назвать их VC1 и VC2. VC1 отображает регистрационную форму с вопросом в каждой строке UITableView и имеет кнопку редактирования. Кнопка редактирования - это как переход от VC1 и VC2. VC2 отображает интерфейс, который позволит пользователю отредактировать вопрос. Я хочу написать приложение, чтобы вы не могли переходить с VC1 на VC2, если вы не выбрали вопрос (строку) для редактирования. Сейчас у меня есть некоторые из них, но возможно, что у меня есть это в обратном направлении.Swift: Не выполнять segue от выполнения, если условие не выполнено
В VC1:
// this method isn't called until VC2 segues back to VC1... so I don't know how
// to make sure that a selection has been made before pressing the button
@IBAction func editQuestion(segue:UIStoryboardSegue) {
if let editQuestion = segue.sourceViewController as? VC2 {
}
}
В VC2:
override func shouldPerformSegueWithIdentifier(identifier: String, sender: AnyObject!) -> Bool {
// check to make sure that user has completed all fields of question
// if they haven't completed all fields, return false (do not segue)
// else segue to VC1
}
Проверка перед выполнением segue должна произойти в VC1 перед вызовом performSegueWithIdentifier() – Siriss
Да, я это понимаю. Я не уверен, как это сделать. У вас есть идеи? Структура, которую я имею прямо сейчас, не поддается этому. –
Как вы называете segue для VC2? он подключен в раскадровке? – Siriss