Это странно. В технических вопросах и ответах Apple говорит следующее:
void *data = CGBitmapContextGetData (cgctx);
if (data != NULL)
{
// **** You have a pointer to the image data ****
// **** Do stuff with the data here ****
}
// When finished, release the context
CGContextRelease(cgctx);
// Free image data memory for the context
if (data)
{
free(data);
}
Я просмотрел документацию для CGBitmapContextGetData, и в ней не упоминается, что я несу ответственность за предоставление данных, когда я вызываю это. Уже существует вызов CGContextRelease, который очищает контекст.
Какой смысл в дополнительном освобождении данных внутри контекста? Это просто указатель на эти данные, верно? Почему они называют здесь free (data)
?