2011-12-14 7 views
0

このコードは最初のタッチで動作します。プレビューの表示が開始され(タイトル、完了、アクション、空白ページ)、previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)indexが再度呼び出されます。今回は[self.resultsController objectAtIndexPath:selectedIndexPath];がnilを返します - 私の推測では、エントリは選択されなくなりました。 index 1.QLPreviewControllerとNSFetchedResultsController objectAtIndexPathはnilを返します

で手続き正しいです:私は例外を無視した場合

- (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; 
} 

- プレビューは、ドキュメントを表示し続けます。質問-[__NSArrayM indexAtPosition:]: unrecognized selector sent to instance 0x1cd52800

::私は最後の良好を維持しようとしなかった

がselectedIndexPathを返したが、その後、エラーを受け取った

をどのように私はインデックスのみに渡さ使用して、私のresultsControllerオブジェクトを取得することができますか?

答えて

0

問題はnumberOfPreviewItemsInPreviewController:previewControllerです。私は[resultsController count]を返すであり、プレビューしたい文書の数ではありませんでした。 previewControllerが次のいくつかのオブジェクトにアクセスしようとしたとき、それはnilを返していました。

// Returns the number of items that the preview controller should preview 
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)previewController 
{ 
    return 1; 
} 
0

私は、これは、あなたの質問に答えるかはわからないが、あなたは使用することができます。

[previewController setCurrentPreviewItemIndex:0]; 

をあなたはプレビューすることにしたい現在の項目を設定します。

+0

私は[previewController in my code]を呼び出していません。それは委任されました。私はちょうど正しいファイルを返そうとしています:// URL QLPreviewControllerがリクエストしています。 – Kent

関連する問題