J'ai utilisé
NSMutableData* mutableData = [NSMutableData dataWithLength: someLength];
void* bitmapData = [mutableData mutableBytes];
CGContextRef context = CGBitmapContextCreate(bitmapData,...);
// ...use context
CGContextRelease(context);
J'ai mis en place un pool de libération automatique, mais lorsque j'examine cette question dans les instruments, je constate qu'il n'y a pas d'autre solution, mutableData
ne semble pas être désalloué.
J'ai pensé à utiliser alloc
/ init
comme ci-dessous, mais je ne sais pas si le fait d'envoyer des release
purgerait bitmapData
également.
NSMutableData* mutableData = [[NSMutableData alloc] initWithLength: someLength];
void* bitmapData = [mutableData mutableBytes];
[mutableData release];
//...
Quelle est la bonne façon d'utiliser NSMutableData
ici ?
Je pensais que l'utilisation de NSMutableData
au lieu de malloc()
y free()
Ce serait pratique parce qu'il sera distribué automatiquement, mais maintenant je ne suis pas sûr que ce soit vrai.