您的位置:首页 > 移动开发 > Objective-C

iOS开发Objective-C 语言变量的作用域

2015-09-06 16:21 543 查看
    IOS中,修饰变量的关键字有四个,分别是:@public,@private,@protected,@package,其中@package在开发过程中用到的较少。

 1  @public 

    被这个关键字修饰的变量是完全开放的,只要有这类的对象存在,就可以访问到这个变量。

 2  @protected 

    被这个关键字修饰的变量是受保护的,只有在声明变量的这个类中和它的子类中,可以访问。

 3  @private 

    被这个关键字修饰的变量是私有的,只能在声明这个变量的类中使用,子类也不能使用。

 4  @package

     这个关键字比较难理解,大致意思是被修饰的变量是封装的,在本框架内可以自由使用,效果和@public 相同,而在框架外不能使用,其子类也不能使用,效果又相当于@private。它非常适用于franework框架。

一点扩展:

1.在类的实现@implementation中,可以声明成员变量【不提倡】,但这个成员变量默认情况下是@private的,如果强加@public,即使在main.m函数中访问该成员变量,编译器也会报错的。

2.在main.m函数中进行@implementation并声明成员变量,在成员变量前强加@pubilc,这时候,int main()主函数是可以访问该成员变量的。【不提倡这种做法】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: