私が返すメソッドがありunsigned char *
ます:
- (unsigned char *)calledMethod {
...
unsigned char *result = (unsigned char*) calloc(size * 4, sizeof(unsigned char));
...
return result;
}
問題は、このメソッドを呼び出すときです。
unsigned char *myVariable = [myClass calledMethod];
メモリリークが発生します。
メモリを解放するにはどうすればよいですか?
私はすでに試しましたが、役に立ちfree(myVariable)
ません。メソッドを呼び出しfree(result)
てcalledMethod
もリークはありませんが、それを返すことはできません。前もって感謝します!
編集:
問題は、 UIImage のピクセル データ ( :rgbamyVariable
ごとに 4 つのコンポーネント) を格納していることです。CGPoint
いくつかのピクセルを変更して、画像を再構築する必要があります。次のようなポイントのデータにアクセスしています。
int byteIndex = (bytesPerRow * point.y) + point.x * bytesPerPixel;
CGFloat red = (myVariable[byteIndex] * 1.0) / 255.0;
CGFloat green = (myVariable[byteIndex + 1] * 1.0) / 255.0;
CGFloat blue = (myVariable[byteIndex + 2] * 1.0) / 255.0;
CGFloat alpha = (myVariable[byteIndex + 3] * 1.0) / 255.0;
を使用すると、パラメータはNSMutableData
何になり、特定の のデータをどのように変更しますか?length
[NSMutableData dataWithBytes:(const void *) length:(NSUInteger)]
CGPoint