0

我想通过运行带有 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];
    }

我收到此错误消息:

尝试在 PaymentViewController: 0x14882290 上呈现 PKAddPassesViewController: 0xca5f7d0 正在等待 PKAddPassesViewController: 0xb169470 的延迟呈现完成

提前致谢。

4

1 回答 1

0

检查您是否处于循环的最后一次迭代中。如果是,请为显示设置动画,如果不是,请不要为其设置动画。

也就是说,从用户的角度来看,这很糟糕。您可能应该考虑一种更好的呈现方式,例如在addPassesViewControllerDidFinish:调用时显示列表或在每个显示之间设置动画。

于 2013-06-10T14:45:49.963 回答