Ios 无法将PDF数组发送到QuickLook预览
我正在尝试一些应该简单的东西,但我想我遗漏了一些显而易见的东西 我只是尝试将一系列PDF加载到QuickLook预览中。文件名列在plist文件中,所以首先我加载plist的内容,并在其中循环生成一个文件名数组。然后我只想将该数组传递给QuickLook预览,并将预览发送给导航控制器 这对我来说很有效,首先将文件列表传递给tableview,然后当您单击表格单元格时,它会在您单击的单元格索引处打开预览 我的目标是消除tableview,只加载索引为零的预览 我的怀疑是我传递了错误类型的数组,或者错误类型的文件路径(我想我试图发送一个NSURL数组,但这可能是错误的做法) 在任何情况下,应用程序都会正常构建并启动。但一旦它尝试加载QuickLook预览,它就会挂起 有谁能告诉我我错过了什么吗Ios 无法将PDF数组发送到QuickLook预览,ios,quicklook,qlpreviewcontroller,Ios,Quicklook,Qlpreviewcontroller,我正在尝试一些应该简单的东西,但我想我遗漏了一些显而易见的东西 我只是尝试将一系列PDF加载到QuickLook预览中。文件名列在plist文件中,所以首先我加载plist的内容,并在其中循环生成一个文件名数组。然后我只想将该数组传递给QuickLook预览,并将预览发送给导航控制器 这对我来说很有效,首先将文件列表传递给tableview,然后当您单击表格单元格时,它会在您单击的单元格索引处打开预览 我的目标是消除tableview,只加载索引为零的预览 我的怀疑是我传递了错误类型的数组,或者
//issueName是plist文件的基本名称
NSString *path = [[NSBundle mainBundle] pathForResource:issueName ofType:@"plist"];
NSArray *documentSpecs = [[NSArray alloc] initWithContentsOfFile:path];
NSString *documentName = [[NSString alloc]init];
NSURL *documentURL = [[NSURL alloc]init];
for (NSString *documentSpec in documentSpecs) {
NSArray *components = [documentSpec componentsSeparatedByString:@";"];
documentName = components[0];
documentURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:documentName ofType:@"pdf"]];
[documentURLs addObject:documentURL];
}
docURLs = [NSArray arrayWithArray:documentURLs];
QLPreviewController *preview = [[QLPreviewController alloc] init];
preview.dataSource = self;
preview.currentPreviewItemIndex = 0;
[[self navigationController] pushViewController:preview animated:YES];
顺便说一句,我确实添加了一个QuickLook数据源,或者至少我认为我添加了,但可能我把这搞砸了:
#pragma标记-QuickLook预览数据源
-(NSInteger)PreviewWitemsInPreviewController的编号:(QLPreviewController*)控制器
{
返回[self.docURL计数];
}
-(id)previewController:(QLPreviewController*)控制器PreviewWitematindex:(NSInteger)索引
{
返回self.docURLs[index];
}
有人能帮我解决这个问题吗?谢谢 使用文件管理器验证每个路径上是否存在文件。是否记录文件URL?它们看起来像
file:///var/mobile/Applications/CB596069-5DAF-40A8-93CC-E3D98E1D8A90/YOUR_APP_NAME/YOUR_FILE_NAME.pdf
?您收到了什么错误消息?
#pragma mark - QuickLook Preview Data Source
- (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller
{
return [self.docURLs count];
}
- (id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index
{
return self.docURLs[index];
}