メモリ内に巨大な NSMutableData オブジェクト (サイズが約 1 MB) があり、オブジェクト内のすべてのバイトを 0 に置き換えたい (メモリの割り当てを解除しない) 必要があります。resetBytesInRange メソッドを使用すると、これを実行できます。ただし、バイトが実際に0に設定されているかどうかを確認/確認するにはどうすればよいですか。メモリアドレスを見て、これを確認したいと思います。これは可能ですか?
次のコードがあります
NSMutableData *imgData = [NSMutableData dataWithCapacity:50000000];
imgData = (NSMutableData*)UIImageJPEGRepresentation(img, 1.0);
[imgData resetBytesInRange:NSMakeRange(0, [imgData length]) ];
ここで、imgData が指すアドレス (および次のいくつかの場所) を調べると、resetBytes の前後で、imgData が指すアドレスから始まるメモリ位置の値に変化は見られません (私は割り当てられたゼロを参照してください)。メモリ割り当ては、imgData が指すアドレスから開始して ([imgData の長さ] まで) 連続していると仮定しました。この仮定は正しいですか(そうではないようです)?そうでない場合、NSMutableData オブジェクトのバイトはどこに保存されていますか? 個別にアクセスできますか?
ありがとう
ヴィベク