在SplashViewController.m中定义一个变量是这样的java
#import "SplashViewController.h"objective-c
NSString* meString=@"123";spa
@implementation SplashViewController指针
// NSString* meString=@"123";对象
.................作用域
这两 个地方都行io
若是在另外的类iTennisViewController.m中要用到这个类中的meString时只需在iTennisViewController.m中写成这样class
#import "iTennisViewController.h"import
extern NSString* meString;变量
@implementation iTennisViewController
便可
这样你在iTennisViewController.m中直接打印meString,你会发现 是123,固然你也能够对meString从新斌值 ,就是说meString虽然定义在SplashViewController.m中但好像是公共的,也称为全局变量吧
// static变量同一个类全部对象中共享,只初始化一次
#import "SecondViewController.h"
static int count;
@implementation SecondViewController;
.......
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
NSLog(@"viewWillAppear is %d",count);
count+=1;
}
这样你每进入一次界面就会发现count加1
除 非程序彻底退出重启,count才会清除,objective-c中用static修饰的变量和java中的静态变量是有区别的,其不能经过类名直接访 问,固然你想直接访问也是能实现的在.m中写一个类方法反回count就好了,并且其做用域是其本类,不能扩展到其余类中
// static const变量同static的结论I,只是不能修改了,可是仍是不一样的对象
// extern const变量只有一个对象,标准的常量的定义方法
// extern的意思就是这个变量已经定义了,你只负责用就好了