UIAlertController自动解除

时间:2017-03-14 08:34:53

标签: objective-c xcode

我的UIAlertController会自动消失,为什么?

-(void)marge_carburant{
    NSString *quantite_carburant_reglementaire = [[NSUserDefaults standardUserDefaults] stringForKey:@"quantite_carburant_reglementaire"];


    // PRISE EN CHARGE DU REGLAGE DE LA MARGE CARBU
    if ([quantite_carburant_reglementaire isEqual: @"2"]){
        quantite_reglementaire = 21;
    }
    if ([quantite_carburant_reglementaire isEqual: @"1"]){
        quantite_reglementaire = 0;
   UIAlertController *alert_carbu_reglementaire = [UIAlertController
                                  alertControllerWithTitle:@"ATTENTION"
                                  message:@"Le résultat ne prend pas en compte la quantité réglementaire"
                                  preferredStyle:UIAlertControllerStyleAlert];



  [self presentViewController:alert_carbu_reglementaire animated:YES completion:nil];
  [self performSelector:@selector(dismissTheAlert) withObject:nil afterDelay:3.0];
    }
}
- (void) dismissTheAlert {
     [self dismissViewControllerAnimated:YES completion:^{}];
}

1 个答案:

答案 0 :(得分:-1)

尝试下面一个。

3.0 * NSEC_PER_SEC是以秒为单位的延迟

[self presentViewController:alert_carbu_reglementaire animated:YES completion:nil];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[alert_carbu_reglementaire dismissViewControllerAnimated:YES completion:^{
    // do something ?
}];
});

您可以在调用marge_carburant函数时添加延迟,以防止在从视图调用时加载崩溃。