Некоторое время я играл с разработкой для iPhone, и, хотя вы чувствуете себя немного неловко, когда вы являетесь "заядлым" разработчиком .NET, не так уж и плохо, когда вы привыкнете к нему.
В каждой книге, которую я читал об Objective-C, говорится только о retain
/release
(подсчет ссылок) для управления памятью. Как разработчик C/C++ из старой школы, кажется странным, что выделение "нормального" пути с использованием malloc()
и free()
упоминается только в некоторых сносках.
Я знаю, что malloc()
и free()
работают в Objective-C, но мне любопытно, является ли это обычной практикой или нет. В конце концов, если я хочу выделить массив из 100 целых чисел, кажется, что это самый эффективный способ сделать это:
int *array = malloc(sizeof(int) * 100);
memset(array,0,sizeof(int) * 100);
// use the array
free(array);
Это действительно лучший способ, или мне следует избегать простого управления памятью на C?