首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QLPreviewController和NSFetchedResultsController objectAtIndexPath返回零

QLPreviewController和NSFetchedResultsController objectAtIndexPath返回零
EN

Stack Overflow用户
提问于 2011-12-14 16:43:36
回答 2查看 622关注 0票数 0

这段代码在第一次接触时就能工作。预览开始显示(标题、完成、操作和空白页),然后再次调用previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)index。这一次,[self.resultsController objectAtIndexPath:selectedIndexPath];返回零-我的猜测是条目不再被选中。index在1点是正确的。

过程

代码语言:javascript
复制
- (id)previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)index
{
    NSIndexPath *selectedIndexPath = [self.tableView indexPathForSelectedRow];
    Manuals *manuals = [self.resultsController objectAtIndexPath:selectedIndexPath];
    NSURL *vUrl = [self locateUrl:[NSURL URLWithString:manuals.Url] ofType:[manuals.Url pathExtension]];    
    return vUrl;
}

如果我忽略了异常-预览将继续显示文档。

我确实试图保留最后一个好返回的selectedIndexPath,但随后收到了错误:-[__NSArrayM indexAtPosition:]: unrecognized selector sent to instance 0x1cd52800

问题

如何仅使用传入的索引来获取resultsController对象?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-13 15:50:13

问题出在numberOfPreviewItemsInPreviewController:previewController。我返回的是[resultsController count],而不是我想要预览的文档数量。当previewController试图访问下几个对象时,它返回的是零。

代码语言:javascript
复制
// Returns the number of items that the preview controller should preview
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)previewController
{
    return 1;
}
票数 0
EN

Stack Overflow用户

发布于 2011-12-14 16:48:33

我不确定这是否能回答你的问题,但你可以用:

代码语言:javascript
复制
[previewController setCurrentPreviewItemIndex:0];

若要设置要预览的当前项,请执行以下操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8508229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档