Я работал над проектом с использованием QuickLook Framework. Я использовал tableview, чтобы показать файлы и использовал предварительный просмотр, чтобы показать их. Я создал QLPreviewController в методе didSelectRowAtIndexPath и попытался установить currentPreviewItemIndex с indexPath.row, чтобы показать файл, который я выбрал. Коды вроде:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// When user taps a row, create the preview controller
QLPreviewController *previewer = [[QLPreviewController alloc] init];
// Set data source
[previewer setDataSource:self];
// Which item to preview
[previewer setCurrentPreviewItemIndex:indexPath.row];
NSLog(@"Tapped Row: %@", [[NSNumber numberWithInt:indexPath.row] stringValue]);
NSLog(@"The INDEX: %@", [[NSNumber numberWithInt:previewer.currentPreviewItemIndex] stringValue]);
// Push new viewcontroller, previewing the document
[[self navigationController] pushViewController:previewer animated:YES];
}
Но в результате он показывает один и тот же файл (первый в списке файлов) независимо от того, какую ячейку я выбираю в табличном представлении. «Tapped Row:» в журнале показывает правильный индекс , но «INDEX:» всегда равен -1 , что, кажется, мне не удалось установить currentPreviewItemIndex.
Что с этим не так? Как правильно установить индекс?