extern NSString *strTest; // 提示编译器 strTest 在其他文件定义了
NSLog(@"strTest : %@", strTest);
如果没定义,则报错 Undefined symbol: _strTest. --- 未定义符号
定义(初始化)在.m文件的方法外即可, 方法内的局部变量不行
不需要引入相关头文件
只是声明, 不是定义, 不分配内存, 右边不能被赋值。
static 作用在同一文件内, extern在不同文件里使用相关变量
static和const使用, 主要是为了在同一文件内, 得到一个不重复声明的不可改变的变量
extern和const使用, 主要是为了在不同文件里, 使用同一个不可改变的常量变量, 如字符串常量,
且一般会搞成一个全局文件共享使用。便于统一管理,如cell的ID
网友评论