我知道类初始化时,类变量是在内存中声明的(而不是在栈中),我知道如何基本使用类方法。但是我有一些关于在基本文档中没有回答的类方法的问题。关于objective-c类方法的问题
类方法是否也在内存中声明?那么在这些类方法中声明的任何对象呢?它们在范围内是“静态的”吗?那么作为参数传入一个类方法的对象呢?这些也是'静态'吗?
是否重复调用一个类的方法意味着声明中它被一次又一次地(每一个方法调用)分配的所有对象,或者他们生活在一个内存位置?每次运行都会被清除吗?
例如,会发生什么情况do_something方法在这里:
+ (void) main
{
while (i < MAX)
{
[MyClass do_something];
}
}
+ (void) do_something
{
NSMutableArray *array = [[NSMutableArray alloc] init];
...
[array release];
}
调用堆栈在内存中。 “在记忆中声明”是什么意思? – outis 2010-01-18 09:39:01