このコードは最初のタッチで機能します。プレビューの表示が開始され(タイトル、完了、アクション、および空白のページ)、その後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オブジェクトを取得するにはどうすればよいですか?