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 最大访问权限
来源:https://www.cnblogs.com/beautylcy/p/7154394.html