Как программно отменить переход и остаться в том же виде - PullRequest
2 голосов
/ 12 марта 2012

Я хочу знать, как мы можем отменить переход в программе, когда какое-либо условие ложно?

Ниже приведен фрагмент кода:

if ([segue.identifier isEqualToString:@"Information Segue"])
{   
    NSFetchRequest *request = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Login" inManagedObjectContext:self.managedObjectContext];
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@" ANY userid==%@ AND password==%@",_loginTextfield.text, _passwordTextField.text];
    [request setEntity:entity];
    [request setPredicate:predicate];
    NSError *anyError=Nil;
    NSArray *fetchedObjects = [self.managedObjectContext executeFetchRequest:request error:&anyError];
    if ([fetchedObjects count] )
    {
        useridentered = _loginTextfield.text;
        passwordentered = _passwordTextField.text;

        InformationTVC *informationTVC = segue.destinationViewController;
        informationTVC.managedObjectContext = self.managedObjectContext;             
    }
    else
    {
       /*  want to put my cancel the segue and remain in the login view */ 
    }
}

Если бы кто-нибудь мог направить меня, это было бы очень полезно.

Ответы [ 3 ]

2 голосов
/ 22 марта 2012

Проверьте эту тему: Условный переход выполняется при нажатии на UITableViewCell

По сути, вместо того, чтобы связывать ваш переход непосредственно с кнопкой, поместите его между контроллерами представления и свяжите кнопку с IBAction, который будет условно вызывать функцию executeSegueWithIdentifier

0 голосов
/ 10 февраля 2017

Здесь есть еще один вариант: https://stackoverflow.com/a/42161944/4791032

Вы можете просто проверить это в func tableView(_ tableView: UITableView, willSelectRowAt indexPath: IndexPath)

0 голосов
/ 12 марта 2012

Ссылка на переход: https://developer.apple.com/library/ios/DOCUMENTATION/UIKit/Reference/UIStoryboardSegue_Class/Reference/Reference.html Не имеет публичного метода, который позволил бы вам отменить переход.

Мне кажется, что было бы легче принять решение о переходе или нетв зависимости от условий, до того, как начнется сеанс, но это зависит от вас.

...