extern作用:
只是用来获取全局变量(包括全局静态变量)的值,不能用于定义变量
extern工作原理:
先在当前文件查找有没有全局变量,没有找到,才会去其他文件查找。
使用方法:
在viewController中定义的方法为:
#import "ViewController.h"
//NSString* hello = @"helloworld" ;//定义在这个地方和@implementation的下面均可
@interface ViewController ()
@end
@implementation ViewController
NSString* hello = @"helloworld" ;//定义在此处或者上面均可
- (void)viewDidLoad {
[super viewDidLoad];
}
如果在viewController1中需要使用hello这个变量,只需要在viewController1中写成这样即可:
#import "viewController1.h"
#import "ViewController.h"
extern NSString* hello;
@implementation viewController2
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"%@",hello);
打印结果为:2016-06-06 17:51:26.062 ExternDemo[1661:107101] helloworld
即成功的访问到了全局变量hello.