UIDocumentInteractionController аварийно завершает работу при выходе

У меня есть обычный UIButton в моем главном меню, который в настоящее время запускает UIViewController; содержимое соответствующий файл .m выглядит следующим образом:

-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

    documentPath = [[NSBundle mainBundle] pathForResource:@"file" ofType:@"pdf"];
    NSURL *targetURL = [NSURL fileURLWithPath:documentPath];

    document = [UIDocumentInteractionController interactionControllerWithURL: targetURL];
    document.delegate = self;
    [document retain];

    return self;
}

-(UIViewController *)documentInteractionControllerViewControllerForPreview: (UIDocumentInteractionController *) controller
{
    return self;
}

-(void)documentInteractionControllerDidEndPreview:(UIDocumentInteractionController *)controller
{
    [document autorelease];
}

-(void)viewDidLoad
{
    [super viewDidLoad];

    [document presentPreviewAnimated: YES]; // ** CRASH **
}

-(void)viewDidUnload
{
    [super viewDidUnload];
}

-(void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return YES;
}

-(void)dealloc
{
    [super dealloc];
}

Мой файл pdf загружается, как ожидалось, однако, когда я нажимаю кнопку «Готово», документ закрывается, и я остаюсь смотреть на свой пустой UIViewController - возможно, как и ожидалось. Но если я нажму кнопку навигация "назад" , затем приложение вылетает из-за неправильной ошибки доступа внутри моего метода viewDidLoad, где обнаружен вызов PresentPreviewAnimated.

Если бы кто-нибудь мог, пожалуйста, взгляните, я был бы очень благодарен.

(кстати, NIB нет. при создании этого контроллера представления. Да, это само по себе неверно)

6
задан Luke 28 May 2011 в 21:12
поделиться