ObjC の新しい開発者で、塗りつぶしカラー アプリを作成しようとしています。画像をタッチすると色が変わってしまいますが、この機能でメロリリークしてしまいました。
-(void) updateImageWithColorSelected:(int) pos{
CGImageRef imageRef = self.basicImage.CGImage;
NSData *data = CGDataProviderCopyData(CGImagerGetDataProvider(imageRef));//leak here
Byte *pixels = (Byte *)[data bytes];
//change color...
for(int i = 0; i< IMG_SIZE; i++){
pixels[j] = 255;
}
CGDataProvider provider = CGDataProviderCreateWithData( NULL, pixels, [data length], NULL];
CGImageRef newImageRef = CGImageCreate(w,h....);
self.basicImage = [UIImage imageWithCGImage:newImageRef];
//release newImageRef
CGImagerRelease(newImageRef);
// set basic image to img
[self.img setImage:self.basicImage];
data = nil;
[data release];
}
NSData *data = CGDataProviderCopyData を除くすべてのコードを削除しようとしましたが、アプリはまだリークしています。「データ」を解放する方法を知っていますか?
前もって感謝します、
}