此代码在第一次触摸时起作用。预览开始显示(标题,完成,操作和空白页),然后再次调用previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)index
。这一次[self.resultsController objectAtIndexPath:selectedIndexPath];
返回零 - 我的猜测是不再选择条目。 index
是正确的,在1QLPreviewController和NSFetchedResultsController objectAtIndexPath返回零
过程:
- (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,但随后收到错误:用我的resultsController对象只有在指数传递
我如何获得:-[__NSArrayM indexAtPosition:]: unrecognized selector sent to instance 0x1cd52800
问题?
我没有在我的代码中调用[previewController。它被委托。我只是试图返回正确的文件://URL QLPreviewController正在请求。 – Kent 2011-12-14 17:37:15