2011-12-14 1 views
0

이 코드는 처음에는 작동합니다. 미리보기 (제목, 완료, 작업 및 빈 페이지)가 표시되고 previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)index이 다시 호출됩니다. 이번에는 [self.resultsController objectAtIndexPath:selectedIndexPath];이 nil을 반환합니다. 내 생각 엔 항목이 더 이상 선택되지 않습니다. 나는 예외를 무시하면QLPreviewController 및 NSFetchedResultsController objectAtIndexPath returned 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; 
} 

- 미리보기는 문서를 계속 표시 : index 1.

에서 절차 정확합니다.

내가 마지막 선을 유지하려고 못했다는 selectedIndexPath를 반환하지만 오류 접수 : 내 resultsController 개체는 인덱스에 전달 된 사용

어떻게 얻을 수 있습니다 : -[__NSArrayM indexAtPosition:]: unrecognized selector sent to instance 0x1cd52800

질문을? 이 질문에 대답하는 경우

답변

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]를 호출하지 않습니다. 그것은 위임되었습니다. 나는 단지 올바른 파일을 반환하려고합니다 : // URL QLPreviewController가 요청하고 있습니다. – Kent