/ / як отримати Quicklook для завантаження зображення в індексі, коли вибрано в uicollectionview - ios, Objective-c, uicollectionview, quicklook

як отримати Quicklook для завантаження зображення за індексом при виборі в uicollectionview - ios, object-c, uicollectionview, quicklook

я отримав перегляд uicollections

коли я вибираю зображення звідти, я хочу, щоб воно відображалося у Швидкому перегляді Я думаю, що я отримав його для вибору файлу prober, але показуючи, що він руйнує додаток із цим повідомленням:

* Додаток, що припиняє роботу через виняток "NSInvalidArgumentException", причина: "- [NSURL length]: нерозпізнаний селектор, надісланий екземпляру 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

Відповіді:

1 для відповіді № 1

Додайте джерело даних

preview.dataSource = self;

І додати метод делегата.

- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller
{
return 1;
}

Ваша проблема вирішена.