Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法将PDF数组发送到QuickLook预览_Ios_Quicklook_Qlpreviewcontroller - Fatal编程技术网

Ios 无法将PDF数组发送到QuickLook预览

Ios 无法将PDF数组发送到QuickLook预览,ios,quicklook,qlpreviewcontroller,Ios,Quicklook,Qlpreviewcontroller,我正在尝试一些应该简单的东西,但我想我遗漏了一些显而易见的东西 我只是尝试将一系列PDF加载到QuickLook预览中。文件名列在plist文件中,所以首先我加载plist的内容,并在其中循环生成一个文件名数组。然后我只想将该数组传递给QuickLook预览,并将预览发送给导航控制器 这对我来说很有效,首先将文件列表传递给tableview,然后当您单击表格单元格时,它会在您单击的单元格索引处打开预览 我的目标是消除tableview,只加载索引为零的预览 我的怀疑是我传递了错误类型的数组,或者

我正在尝试一些应该简单的东西,但我想我遗漏了一些显而易见的东西

我只是尝试将一系列PDF加载到QuickLook预览中。文件名列在plist文件中,所以首先我加载plist的内容,并在其中循环生成一个文件名数组。然后我只想将该数组传递给QuickLook预览,并将预览发送给导航控制器

这对我来说很有效,首先将文件列表传递给tableview,然后当您单击表格单元格时,它会在您单击的单元格索引处打开预览

我的目标是消除tableview,只加载索引为零的预览

我的怀疑是我传递了错误类型的数组,或者错误类型的文件路径(我想我试图发送一个NSURL数组,但这可能是错误的做法)

在任何情况下,应用程序都会正常构建并启动。但一旦它尝试加载QuickLook预览,它就会挂起

有谁能告诉我我错过了什么吗


//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];
 }