我知道類初始化時,類變量是在內存中聲明的(而不是在棧中),我知道如何基本使用類方法。但是我有一些關於在基本文檔中沒有回答的類方法的問題。關於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