For-Loop для быстрого представления View Controller

я хочу добавить несколько пропусков сберегательной книжки, пройдя через массив с URL-адресами. Проблема в том, что цикл считает быстрее, чем может представить контроллер представления. Вот мой код:

    NSArray *passURLArray = [NSArray new];
    passURLArray = response;

    for (int i = 0; passURLArray.count; i++) {
        NSString *passURLString = [NSString stringWithFormat:@"http://test.de%@", [passURLArray objectAtIndex:i]];
        NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:passURLString]];

        NSError *error;
        PKPass *pass = [[PKPass alloc] initWithData:data error:&error];
        [[UIApplication sharedApplication] openURL:[pass passURL]];

        PKAddPassesViewController *passVC = [[PKAddPassesViewController alloc] initWithPass:pass];
        passVC.delegate = self;
        [passVC setDelegate:(id)self];
        [self presentViewController:passVC animated:YES completion:nil];
    }

Я получаю это сообщение об ошибке:

Попытка представить PKAddPassesViewController: 0xca5f7d0 на PaymentViewController: 0x14882290, который ожидает завершения отложенного представления PKAddPassesViewController: 0xb169470

Заранее спасибо.


person d3p0nit    schedule 10.06.2013    source источник
comment
попробуйте изменить на анимированный: NO вместо этого.   -  person Valent Richie    schedule 10.06.2013


Ответы (1)


Проверьте, находитесь ли вы на последней итерации цикла. Если да, анимируйте отображение, если нет, не анимируйте его.

Тем не менее, это неприятно с точки зрения пользователя. Вероятно, вам следует подумать о более приятном способе представления, например, о отображении списка или анимации между каждым отображением при вызове addPassesViewControllerDidFinish:.

person Wain    schedule 10.06.2013
comment
да, я думаю, ты прав. Думал легко и быстро это сделает, но, может быть, здесь это не работает. - person d3p0nit; 10.06.2013