Как прогроматически остановить действия segue swift

поэтому у меня есть несколько контроллеров просмотра в моем проекте, и я выполняю переход от первого ко второму, когда вызывается кнопка с именем SignIn. Однако мне нужно остановить выполнение этого действия при условии. Например, if isThereAnError == true { write code to stop action segue } я просмотрел всю документацию Apple и переполнение стека, но не преобладал. Любая помощь приветствуется, заранее спасибо.


person will cohen    schedule 19.08.2016    source источник
comment
stackoverflow.com/questions/25113602/   -  person Shades    schedule 19.08.2016
comment
Действительно? Это трудно найти в документации? Действительно?   -  person matt    schedule 20.08.2016


Ответы (1)


UIViewController имеет метод с именем «shouldPerformSegueWithIdentifier:sender:». Вы можете использовать это, чтобы предотвратить переходы. В этом случае вы должны использовать следующий код:

Цель-C:

-(BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier
                                  sender:(id)sender{
   if([identifier isEqualToString:@"{YOUR_SEGUE_IDENTIFIER_HERE}"]){
      return NO;
   }
  return YES;
}

Быстрый:

func shouldPerformSegueWithIdentifier(_ identifier: String,
                               sender sender: AnyObject?) -> Bool{
    if(identifier == "{YOUR_SEGUE_IDENTIFIER_HERE}"){
        return false
    }
    return true
}
person Marcus    schedule 19.08.2016
comment
Спасибо, я ценю это, но где бы я добавил в условиях, например, if isthereAnError == true return false и что nor› - person will cohen; 20.08.2016