// static使用 : 运行同一个方法, (希望)该值保留上一次的结果, 如点击屏幕次数
-(void)touchesBegan:(NSSet *)toucheswithEvent:(UIEvent*)event {
static NSInteger i =0;
i++;
NSLog(@"第 %li 次点击, 地址:%p", i, &i);
[supertouchesBegan:toucheswithEvent:event];
}
// 再次运行该方法时, i的值保留了上一次运行的值,也就是只是初始化了一次, 地址不变
// static 没改变 i的作用域, 但是改变了 i的生命周期,局部变量的内存本是在堆区的,出了当前作用域就会被收回;当加上static后转到了静态区, 程序运行结束后才会被释放
#import "ViewController.h"
// 静态常量
static NSString *abc = @"abc123";
static NSInteger high = 1.8;
全局变量, 文件内都可见, 可避免魔法数字, 增强可读性
超出文件外的变量使用 extern, 使用别的文件定义的变量
static 防止重复声明, const 防止修改变量值
网友评论