标签:objective-c 成员变量 静态变量 可见性
之前在学习C++,或者java的时候,都会遇到一个可见性的问题,这篇文章我们来讨论声明的成员变量对对象方法(减号方法)和类方法(加号方法)的可见性问题。
(一)代码一:成员变量对减号方法可见,对加号方法不可见。
在People.m中声明一个成员变量:NSString *_peopleName;然后发现可以在减号方法中访问该变量,在加号方法中不可以访问该变量。
-(void)ObjectShow{
NSLog(@"我是对象方法");
_peopleName=@"成员变量";//这里可以访问到成员变量;
}+(void)ClassShow{
NSLog(@"我是类方法");
//在这里不能访问_peopleName;
}
在People.m中使用static(学过java的人很熟悉)关键字声明一个静态变量:static NSString *_peopleName2;然后可以发现同时可以在减号方法和加号方法中访问该静态变量。
-(void)ObjectShow{
NSLog(@"我是对象方法");
_peopleName2=@"Jack";//对象方法中访问到了静态变量;
}
+(void)ClassShow{
NSLog(@"我是类方法");
_peopleName2=@"Mike";//类方法中访问到了静态变量;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
Objective-C学习笔记(二十)——成员变量对对象方法与类方法的可见性分析
标签:objective-c 成员变量 静态变量 可见性
原文地址:http://blog.csdn.net/chenyufeng1991/article/details/47036897