Ipad QLPreviewController未在iOS6中更新previewItem

Ipad QLPreviewController未在iOS6中更新previewItem,ipad,ios6,qlpreviewcontroller,Ipad,Ios6,Qlpreviewcontroller,我正在文档目录中保存文件并将其加载到-(id)previewController:(QLPreviewController*)previewController previewItemAtIndex:(NSInteger)idx中,其中包含[NSURL fileURLWithPath:self.path] 返回的url是正确的图像。但是QLEVIEWCONTROLLER显示最后保存的映像。此问题仅在iOS6中出现 代码如下: -(void)加载和保存文件{ NSData *data = [NSD

我正在文档目录中保存文件并将其加载到-(id)previewController:(QLPreviewController*)previewController previewItemAtIndex:(NSInteger)idx中,其中包含[NSURL fileURLWithPath:self.path]

返回的url是正确的图像。但是QLEVIEWCONTROLLER显示最后保存的映像。此问题仅在iOS6中出现

代码如下:

-(void)加载和保存文件{

NSData *data = [NSData dataWithContentsOfURL:self.mainURL];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *arr=[self.urlString componentsSeparatedByString:@"."];
NSString *str=[arr lastObject];
self.pdfPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"Preview.%@",str]];
[data writeToFile:self.pdfPath atomically:YES];

[self preview];
}

其中preview是初始化QLPreviewController的方法

在datasource方法previewItemAtIndex中,我得到如下路径

fileURL1=[NSURL fileURLWithPath:self.pdfPath]; NSLog(@“%@”,fileURL1)


我在关闭QLViewController时从文档目录中删除了该文件,从而解决了这个问题

n错误*err=nil; [[NSFileManager defaultManager]removitematpath:self.pdfPath错误:&err]

现在它可以在iOS4.3、iOS5.1和iOS6上完美地工作

    if ([QLPreviewController canPreviewItem:fileURL1]) {
        NSLog(@"///////%@",fileURL1);
        return fileURL1;

    }