IOS的變量前加extern和static字段

IOS的變量前加extern和static字段


 

在SplashViewController.m中定義一個變量是這樣的html

#import "SplashViewController.h"java

NSString* meString=@"123";objective-c

@implementation SplashViewControllerpost

// NSString* meString=@"123";url

.................spa

這兩 個地方都行3d

 

若是在另外的類iTennisViewController.m中要用到這個類中的meString時只需在iTennisViewController.m中寫成這樣htm

#import "iTennisViewController.h"blog

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就好了,並且其做用域是其本類,不能擴展到其餘類中

今天就寫到這了

請你們多多指教

相關文章
相關標籤/搜索