1:staticspa
2.修飾全局變量code
2:extern生命週期
代碼演示:內存
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { [super touchesBegan:touches withEvent:event]; // 這種的話,每次都會從新初始化,因此打印的都是1 int i = 0; i++; NSLog(@"i=%d",i); // 使用static修飾的話。只會初始化一次,並且是跟應用程序有關,不會由於這個代碼塊結束就結束的,如: static int j = 0; j++; NSLog(@"j=%d",j); // 怎樣驗證何時分配內存? // 能夠在上面兩個地方打個斷點,你會發現j那裏直接跳過,也就是說初始化的時候不是在這裏 }
- (void)viewDidLoad { [super viewDidLoad]; // 定義 int b = 3; // 只能聲明,不能定義 //extern int a = 3; }
3:static 與const 聯合使用作用域
4:ertern 與 const 聯合使用it
#import <Foundation/Foundation.h> // XJKIT #ifdef __cplusplus #define XJKIT_EXTERN extern "C" __attribute__((visibility ("default"))) #else #define XJKIT_EXTERN extern __attribute__((visibility ("default"))) #endif XJKIT_EXTERN NSString * const discover_name;
#import "GlobeConst.h" // 定義整個項目中全局變量 /***************發現*************/ NSString * const discover_name = @"name"; /***************首頁*************/ NSString * const home_name = @"name";
3.使用:在哪裏使用,導入都文件便可,便可調用全局的變量io
意見反饋郵件:1415429879@qq.com
歡迎大家的閱讀和讚揚、謝謝!event