画像の読み込みを背景に移動しようとしています。現在、バックグラウンドでUIImagesをロードしていますが、これを読んだことから、これは推奨される方法ではありません。代わりに、バックグラウンドでCGImageRefをロードしてから、メインスレッドでUIImageをロードする必要があります。
問題は、を作成しようとするとCGImageRef
、nullとして返されることです。サンプルコード:
NSData * imageData = [NSData dataWithContentsOfFile: coverPath];
if(nil != imageData)
{
UIImage * uiImage = [UIImage imageWithData: imageData];
CGDataProviderRef provider = CGDataProviderCreateWithCFData((__bridge CFDataRef) imageData);
CGImageRef imageRef = CGImageCreateWithPNGDataProvider(provider, NULL, true, kCGRenderingIntentDefault);
NSLog(@"Test: %p, %p", imageRef, uiImage);
CGDataProviderRelease(provider);
}
ログアウトしTest: 0x0, 0x1c566bb0
ます。imageRefはnullですが、uiImageはnullではありません。私がここで間違っていることについて何か考えはありますか?これは非常に単純なはずですか?