В Swift вы можете сделать: , как @Gaurav Сингх предложил в своем ответе
Шаг 1: Вставьте сегмент из ViewControllerA в ViewControllerB. Сег должен начинаться с самого ViewControllerA, а не с какого-либо элемента управления (например, Button).
Шаг 2: Дайте segue уникальный идентификатор в раскадровке. Пример: seageFromAtoB
Шаг 3: В вашем ViewControllerforA.скора запись:
if(condition == true) {
self.performSegueWithIdentifier("seageFromAtoB", sender: self)
}
Если вы выполняете какую-то задачу в другом Thread
затем с помощью performSegueWithIdentifier
может выбросить исключение.
Если вы получаете эту ошибку, то вы должны использовать:
if(condition==true){
NSOperationQueue.mainQueue().addOperationWithBlock {
self.performSegueWithIdentifier("seageFromAtoB", sender: self)
}
}
Это будет выполнять SEGUE перенаправление в главном Thread
.
Надежда этой помощь для того, кто ищет вариант Swift
Он работал твой для меня, я сделал conditionall SEGUE из UITableViewCell, потому что некоторые клетки должны показать некоторый вид и другие клетки других ... Дела в том, что, когда я вернусь из push-сеге, он потерял фокус и сбросил представление, он не вернулся в камеру, которая начала действие. У меня есть таблица с сегментированным элементом управления сверху, который изменяется между двумя источниками данных. Если я выйду из uitableviewcell со вторым показателем сегментированного элемента управления, когда я вернусь из segue, он начнет просмотр с 1-го индекса в сегментированном элементе управления ... – fguespe
@fguespe Вы задаете решение проблемы или это общий комментарий. –
да, мне нужно решение, но я немного продвинулся, и я понимаю, что это не вина условного сегмента. для обычных переходов происходит. Проблема заключается в сегментированном элементе управления, который ищет индекс, когда он возвращается, но он показывает данные первого сегмента. – fguespe