ios中类变量的作用范围
来源:互联网 发布:信用卡淘宝限额 编辑:程序博客网 时间:2024/05/02 00:47
@private
实例变量只能被声明它的类访问
@protected
实例变量能被声明它的类和子类访问,所有默认的实例变量都是@protected
@public
实例变量可以被在任何地方访问
@package
这个类型最常用于框架类的实例变量,当使用@private太限制,使用@protected或者@public又太开放的时候一般选择使用@package 例如,
@interface TestClass : NSObject {
@privateNSString *mNamePrivate;
@package
NSString *mTextPackage;
}
-(void)print;
@end
@implementation TestClass
-(id)init
{
self=[super init];
if (self) {
mNamePrivate = [[NSString alloc] initWithUTF8String:"mNamePrivate"];
mTextPackage = [[NSString alloc] initWithUTF8String:"mTextPrivate"];
}
return self;
}
-(void)print
{
NSLog(@"private:%@, package:%@", mNamePrivate, mTextPackage);
}
-(void)dealloc
{
[mNamePrivate release];
[mTextPackage release];
[super dealloc];
}
在其它的类里面访问package作用域的成员变量是可以的,需要使用->这种访问方式。
TestClass *t = [[TestClass alloc] init];
[t print];
NSLog(@"%@", t->mTextPackage);//OK
NSLog(@"%@", t->mNamePrivate);//编译错误,提示“instance variable 'mNamePrivate' is private”
NSLog(@"%@", [t mNamePrivate]);//编译提示“mNamePrivate找不到,”程序可以运行,但是会出错
[t release];
- ios中类变量的作用范围
- 线程中变量的作用范围
- C语言中变量的作用范围
- 在javascript中变量的作用范围
- 在javascript中变量的作用范围
- 关于js中变量的作用范围
- 内存变量的作用范围
- javaScript变量的作用范围
- Java变量的作用范围
- 02 变量的作用范围
- 静态变量的作用范围
- javascript 变量的作用范围
- PHP的变量作用范围
- Java变量的作用范围
- Javascript 中变量的作用范围引发的bug
- PHP中变量的声明、作用范围和解析规则
- 变量的作用域的范围问题
- linux中创建和删除变量,sh与变量的作用范围之间的关系
- hightcharts 一个例子先记一下
- Linux 静态库的创建和使用
- td 换行 div滚动条 获取select的选项值
- servlet request和response的模拟单元测试
- python下mysql数据库处理输入字符串
- ios中类变量的作用范围
- objective-c中import与@class的说明
- Xcode The Simulator can't be launched because it is already in use .
- poj-2260
- Android学习之路之ListView的使用
- ubuntu 12.04 安装搜狗输入法
- ios frame与bounds的区别比较
- 罗非鱼价格怎么样?
- MongoDB 批量修改