无法从NSArray内容中读取远程pdf?

时间:2014-02-08 17:15:14

标签: ios uitableview nsarray nsrangeexception

我想阅读一些远程pdf,所以我创建了一个包含网址的NSArray,但是当我尝试阅读它时,我得到了这个:

Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 2 beyond bounds [0 .. 0]'

这是我的代码

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

    if ([[segue identifier] isEqualToString:@"CircularDetail"]) {

        CircularDetailViewController *circulardetail = [self.storyboard instantiateViewControllerWithIdentifier:@"CircularControllerDetail"];

        NSIndexPath *myIndexPath = [self.tableView indexPathForSelectedRow];
        int row = [myIndexPath row];

        circulardetail.DetailModal = [NSArray arrayWithObjects:_SeccionCirculares[row], _circularfecha[row], _circularTitulo[row], _circularURL[row], nil];

        [self presentViewController:circulardetail animated:YES completion:nil];
    }
}

在细节中我有这个

- (void) loadRemotePdf
{
        NSURL  *myUrl = [NSURL URLWithString:[_DetailModal objectAtIndex:3]];
        NSURLRequest *myRequest = [NSURLRequest requestWithURL:myUrl];

        [self.webview loadRequest:myRequest];
}

1 个答案:

答案 0 :(得分:0)

CircularDetailViewController *circulardetail =
     [self.storyboard instantiateViewControllerWithIdentifier:@"CircularControllerDetail"];

创建视图控制器的 new 实例。你可能想要

CircularDetailViewController *circulardetail =
     (CircularDetailViewController *)[segue destinationViewController];

代替。

您无需致电presentViewController进行segue转换。

您还应该注意

参数列表中的任何nil对象
circulardetail.DetailModal = [NSArray arrayWithObjects:...];

终止列表,因此数组可能比您预期的要短。