【发布时间】:2011-02-04 14:52:56
【问题描述】:
我一直在用
NSMutableData* mutableData = [NSMutableData dataWithLength: someLength];
void* bitmapData = [mutableData mutableBytes];
CGContextRef context = CGBitmapContextCreate(bitmapData,...);
// ...use context
CGContextRelease(context);
我有一个自动释放池,但在 Instruments 中查看时,mutableData 似乎没有被释放。
我想像下面那样使用alloc/init,但我不确定发送release是否也会清除bitmapData。
NSMutableData* mutableData = [[NSMutableData alloc] initWithLength: someLength];
void* bitmapData = [mutableData mutableBytes];
[mutableData release];
//...
在这里使用NSMutableData 的正确方法是什么?
我认为使用NSMutableData 而不是malloc() 和free() 会很方便,因为它会自动释放。但现在我不确定这是不是真的。
【问题讨论】:
标签: objective-c cocoa-touch memory-management nsmutabledata