此代码在第一次接触时有效。预览开始显示(标题、完成、操作和空白页),然后previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)index
再次调用。这次[self.resultsController objectAtIndexPath:selectedIndexPath];
返回 nil - 我的猜测是该条目不再被选中。index
在 1 处是正确的。
程序:
- (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 对象?