Я знаю, что переменные класса объявляются в памяти (в отличие от стека), когда класс инициализируется, и я знаю, как в основном используются методы класса.Но у меня есть несколько вопросов о методах класса, на которые нет ответов в базовой документации.
Метод класса также объявлен в памяти?Как насчет любого объекта, объявленного в этих методах класса?Они «статичны» по объему?Как насчет любых объектов, которые передаются в метод класса в качестве параметра?Это тоже «статично»?
Означает ли повторный вызов метода класса все объекты, объявленные в нем, выделяются снова и снова (по одному на вызов метода), или они живут в одном месте в памяти?Они очищаются при каждом запуске?
Например, что происходит с методом do_something здесь:
+ (void) main
{
while (i < MAX)
{
[MyClass do_something];
}
}
+ (void) do_something
{
NSMutableArray *array = [[NSMutableArray alloc] init];
...
[array release];
}