Swift Objective-C 访问级别控制

烂漫一生 提交于 2019-12-23 17:53:05

Swift

一、private 

Swift 3.0之前,private修饰的方法和属性可以被子类访问或者重载( cannot override stored properties ),swift 3.0中private修饰的属性和成员变量只能在本类中访问。

二、fileprivate 文件内私有,在同一个源文件声明的类可以访问。

三、internal 默认访问权限,framework 或者 proj内可以访问。

四、public 可以在任何地方访问,framework之内可以被继承或者override,模块外的地方不可以被继承和override。

五、open 任何地方都可以被访问,继承或者override。

 

Objective-C

一、private :外界不可访问

 @private

NSInteger oneInteger;

二、protected :允许子类访问

@interface ClassA :NSObject
{
    NSInteger oneInteger;  //隐含@protected的意思
}
@end
@protected
NSInteger oneInteger;

三、package: 模块内可访问,32位系统中模块外也可访问同public

四、public  最大访问权限

 


 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!