0

我正在从在线服务器下载 PDF 文件并将其保存到我的应用程序沙箱中,然后在 iBooks 中查看。

iBooks 查看是我现在正在苦苦挣扎的。我试过这段代码:

    UIDocumentInteractionController *docController = [UIDocumentInteractionController interactionControllerWithURL:url];

    docController.delegate = self;

    [docController presentOpenInMenuFromRect:savePDF.frame inView:self.view animated:YES];
    [docController dismissMenuAnimated:YES];

仍然没有机会,它正在运行,但弹出框在呈现后立即被关闭。但是当我删除[docController dismissMenuAnimated:YES];它给我一个错误说'-[UIPopoverController dealloc] reached while popover is still visible.'

可能是什么问题呢?

4

2 回答 2

0

问题是由于变量不再在范围内,因此您UIDocumentInteractionController在呈现后立即被释放。docController

为防止这种情况,您应该创建一个strong属性或实例变量并将您的存储UIDocumentInteractionController在其中。这样,它UIDocumentInteractionController会一直存在,直到您释放控制它的对象,这应该足够长,让用户做出选择......

于 2013-05-14T07:46:07.647 回答
0

我一次又一次地尝试了一切,但最终达到了[UIPopoverController dealloc],而 popover 仍然是可见的错误消失了,一切都在这样做:

转到您的项目构建阶段 --> 然后编译源 --> 选择您遇到问题的 .m 并双击编译器标志并添加 -fobjc-arc然后清理并构建您的应用程序。

同样,这对每个人都不起作用,可能不是正确的答案,但它也可能有助于其他一些与我有同样问题的人。

于 2013-12-19T20:46:21.897 回答