один сеанс, выполняющий двойное время - PullRequest
0 голосов
/ 11 декабря 2019

У меня есть два перехода для дополнительного представления контроллера. Во-первых, я использую кнопку панели от основной раскадровки к контроллеру сложений, где есть пустой формат, который должен заполнять пользователь. Второй переход - от представления таблицы к контроллеру дополнительного представления, где данные могут быть сохранены, удалены или обновлены. Я использовал контроль, перетаскиваемый в обоих случаях. В коде для представления таблицы segue я использую код для didselectrow для передачи данных от одного контроллера к другому.

Проблема: при выполнении второго перехода он в конечном итоге выполняется, но после показа первого перехода. Я имею в виду, что если я выполняю просмотр таблицы, появляется первый пустой формат, который сам заканчивается на заполненной странице. Мне кажется, что сначала выполняется segue, а затем я могу поделиться кодами

1 Ответ

0 голосов
/ 14 декабря 2019

Я не совсем ясно понял ваш вопрос, но попробуйте использовать функцию shouldPerformSegue (см. Пример ниже). Это поможет вам заблокировать или разрешить переходы в зависимости от условий, установленных другими частями контроллера.

override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
    var result = true
    if identifier == "EditItemSegue" && itemMoved! {
        itemMoved = false
        result = false
    }
    return result
}
...