1. 关于static:
static的变量,在内存中只有一份,只初始化一次。若不赋值,有默认值,例如,基本数据类型 int,默认初始值为0, NSString 默认初始值wei @"", 其lenght = 0。
在C/C++中用于限制全局变量的访问范围,只允许本文件使用该变量;若用于方法中,每次调用方法,都会使用同一个变量。
在OC中,常用于单例,一个静态的单例对象实例。
1) 在C、C++中,可以用static 声明一个静态变量,只允许在声明的方法/文件中使用,不可越文件使用。
2)在OC中,可以在 .m / .mm文件中声明一个静态成员变量。可以通过编写类方法的方法访问该静态变量。
在 StaticObject.m 文件中:
#import "StaticObject.h"
staticint count; // 默认初始化为0
staticNSString *staticString; // 默认为@"",其长度为0
@implementation StaticObject
- (id)init
{
self = [superinit];
if (self) {
count =0;
}
returnself;
}
+(void)setCount:(int)nCount
{
count = nCount;
}
+(int)StaticCount
{
returncount;
}
+(NSString *)staticString
{
returnstaticString;
}
@end
// 方法中的静态变量。