Я хочу читать указанный файл (фото из камеры) асинхронный, но он не работает для меня.Не удается прочитать содержимое PHAsset асинхронно
tempData
Variable получает nil
недо меняю конфигурации requestOptionForPhotos.synchronous
к YES
, то все в порядке, но я не хочу, чтобы выполнить этот код синхронно.
Возможно ли, что я блокирую доступ к фотографии, обратившись к тому же файлу в другой теме? Я новичок в программировании на объектах c и iOS, и я не знаю, как это работает.
NSURL *assetUrl = [[NSURL alloc] initWithString:filepath];
PHFetchResult *collection = [PHAsset fetchAssetsWithALAssetURLs:[NSArray arrayWithObject:assetUrl] options:nil];
PHImageRequestOptions *requestOptionForPhotos = [[PHImageRequestOptions alloc] init];
requestOptionForPhotos.networkAccessAllowed = YES;
requestOptionForPhotos.synchronous = NO;
__block BOOL isFinished = NO;
__block NSData * tempData = nil;
for(PHAsset *asset in collection) {
[[PHImageManager defaultManager]
requestImageForAsset:asset
targetSize:CGSizeMake(80, 80)
contentMode:PHImageContentModeAspectFill
options:requestOptionForPhotos
resultHandler:^(UIImage *result, NSDictionary *info) {
tempData = UIImagePNGRepresentation(result);
isFinished = YES;
}];
}
Вы получаете допустимый путь к файлу? Кроме того, есть ли какие-либо данные, которые вы получаете в объекте «collection»? –
Да, есть некоторые данные, и путь также действителен. – siwymilek