范围由小到大:
项目内:
1、private:只能在当前类中访问(当前文件、当前文件子类、其他文件都不能访问)
2、filePrivate:只能在当前swift的文件访问(其他文件不能访问)
3、internal:变量创建的默认方式(只能在当前模块访问,即只能在自己的项目中访问,如果自己项目封装成sdk,其他项目调用的话,这个变量是不能在别人的项目访问)
项目内+项目外
4、public:可以在:自己项目+别人项目中访问;但是不能在别人项目中重写和继成
5、open:可以在自己项目+别人项目访问;别人项目可以继承和重写
细节:以上说别人项目能使用的前提是自己项目封装成SDK给别人调用。
---------其他
1、@objc:一般在变量或者方法前加这个是为了兼容oc的一些写法规范,才能使得oc项目能访问
2、static:在方法或者变量前加这个,代表方法或者变量是属于类的。即类方法,类变量
3、required:一般在父类方法init前加这个,意思是子类必须实现这个方法(不是重写),并且子类方法前也是加required