नहीं पढ़ सकता है मैं निर्दिष्ट फ़ाइल (कैमरा रोल से फोटो) अतुल्यकालिक पढ़ना चाहता हूं, लेकिन यह मेरे लिए काम नहीं करता है।PHAsset सामग्री एसिंक्रोनस
चर tempData
nil
तक मैं YES
को config requestOptionForPhotos.synchronous
बदल जाता है, तो सब कुछ ठीक है, लेकिन मैं इस कोड को तुल्यकालिक प्रदर्शन करने के लिए नहीं करना चाहती।
क्या यह संभव है कि मैं अन्य थ्रेड में उसी फ़ाइल को अनुरोध करके फोटो तक पहुंच को अवरुद्ध कर रहा हूं? मैं उद्देश्य-सी और आईओएस प्रोग्रामिंग में नौसिखिया हूं और मुझे नहीं पता कि यह कैसे काम करता है।
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;
}];
}
क्या आपको वैध फ़ाइल पथ मिल रहा है? भी, क्या आपके पास "संग्रह" ऑब्जेक्ट में कोई डेटा है? –
हां, कुछ डेटा और पथ भी वैध हैं। – siwymilek