For-Loop快速呈现View Controller

时间:2013-06-10 14:33:16

标签: ios for-loop uiviewcontroller passbook

我希望通过运行带有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完成

提前致谢。

1 个答案:

答案 0 :(得分:0)

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

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