在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的意思就是這個變量已經定義了,你只負責用就好了