美文网首页
Swift 关键字

Swift 关键字

作者: yyggzc521 | 来源:发表于2021-11-29 23:30 被阅读0次

    权限关键字

    private :

    1. 修饰的属性、方法只能在当前 中使用
      当调用不在当前类中,即使是当前类相关对象也不能使用
    2. 修饰的Class或Struct 除在自身内部使用;其它的都不被允许(包括类的继承和实例化),因此一般开发中不会用private 修饰Class 和Struct
    3. private 修饰的protocol,只允许在当前文件中遵循该protocol
      其它的都是不被允许的(包括类型申明, 函数或方法中的形参申明)

    filePrivate:

    1. 修饰的属性、方法,只能在当前文件中使用
      当前文件内, 可以跨类调用
    2. 修饰Class或Struct,Class在当前文件内可以实例化和继承使用,在当前文件之外的任何地方都不允许被使用
    3. fileprivate 修饰的protocol,同private修饰protocol 效果一致, 都是只允许在当前文件中遵循, 不允许类型申明使用, 函数和方法的形参声明

    internal:

    默认权限修饰关键字, 一般不用声明, 只允许在当前module中使用,继承, 重写

    public:

    1. 修饰的属性, Struct和protocol,允许跨module 使用
    2. 修饰的Class,允许跨module使用,但不允许跨module继承
    3. 修饰的方法, 允许跨module使用; 但是不允许跨module重写,即使是该方法的类是采用open修饰

    open:

    1. open 修饰的属性,跟public一致, 因为存储型属性不予许重写
    2. open 不允许修饰protocol,Struct,Struct方法, 是因为open修饰的,表示可重载
    3. 修饰方法, 允许跨module调用和重写
    4. 修饰class,允许跨module使用和继承

    权限从小到大的排序为 private < fileprivate < internal < public < open

    mutating:

    用于修饰结构体的实例方法中,进行修改结构体属性值

    @escaping:

    用于修饰闭包,防止闭包在方法或者函数返回时销毁,叫做允许闭包逃逸

    相关文章

      网友评论

          本文标题:Swift 关键字

          本文链接:https://www.haomeiwen.com/subject/iulrxrtx.html