【发布时间】:2013-12-28 09:43:06
【问题描述】:
我有一个 uicollectionsview
当我从那里选择我的图像时,我希望它显示在 Quicklook 中 我想我可以选择文件探测器,但显示它会使应用程序崩溃并显示此消息:
* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[NSURL 长度]:无法识别的选择器已发送到实例 0xb7be9c0”
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"didselect");
QLPreviewController * preview = [[QLPreviewController alloc] init];
preview.dataSource = self;
preview.currentPreviewItemIndex = indexPath.row;
[self presentViewController:preview animated:YES completion:Nil];
}
#pragma mark -
#pragma mark QLPreviewControllerDelegate methods
- (BOOL)previewController:(QLPreviewController *)controller shouldOpenURL:(NSURL *)url forPreviewItem:(id <QLPreviewItem>)item {
return YES;
}
#pragma mark -
#pragma mark QLPreviewControllerDataSource methods
- (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller {
return [photoURLsLargeImage count];
}
这就是我的问题所在,我想:
- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index {
NSString *entry = [photoURLsLargeImage objectAtIndex:index];
return [NSURL fileURLWithPath:entry];
}
photoURLsLargeImage 是一个 nsmutablearray,至少有 17 个从 flickr 获取的对象
【问题讨论】:
标签: ios objective-c uicollectionview quicklook