2
我讀過(Effective Objective-C 2.0)static
在實現文件(m.file)中聲明的變量對於定義它們的翻譯單元是本地的,並且這些變量將不會公開在全局符號表中 。但是,如果在沒有static
的情況下聲明.m文件中的全局變量,則它的行爲如同static
。那麼static
是隱含在這種情況下使用還是這些是不同的事情?編譯器是否包含全局符號表中沒有靜態修飾符的全局變量?
實施例:
//in the m.file
static int staticVariable;//100% static
int globalVariable;//is static ?
@implementation SomeClass {
//local ivars declaration
}