static-01-初步认识

2022-09-01  本文已影响0人  普通如我

// 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 防止修改变量值

上一篇 下一篇

猜你喜欢

热点阅读