美文网首页
Swift 关键字

Swift 关键字

作者: swagon | 来源:发表于2017-06-20 10:05 被阅读17次

    以下是自己学习Swift 的一些记录,便于以后查找翻阅

    一些关键字

    1. @escaping(es=ex向外,cape=海角)修饰闭包的关键字,这个关键字理解为逃跑,意思是这个闭包可以超出这个函数体的作用范围。
    2. @convention 字面意思是约定,在swift中调用Objectvie-C或者C的时候,要用这个关键字,才能把swift中的函数变量传入Objectvie-C或者C中。
    3. ?变量后面跟这个可以认为是可选值,这种情况实际使用的时候,要用一个常量去接受这个值,然后判断是否为空。
    4. !确认这个值是有的,程序员自己断定,但是实际有可能是没有的。
    5. :后面跟着类型,->跟返回类型。
    6. 泛型Type<T> T相当于占位符,传入参数不会出现问题。
    7. as转换,as!强制转换,as?转换不成功返回nil
    8. (属性访问控制)private是类私有或则结构体私有(当前作用域),fileprivate是文件内私有,internal是target内访问,public表示公开,target可以继承(重写),但是在模块外只可以访问,open表示开放,在target外可以访问,也可以继承(重写)。
    9. final 保持原样
    10. typealias 别名。
    11. guard( 守卫)保证是你想要的条件,不想要的就返回。
      guard let request = request else {
      return
      }
    12. willset,didset用来监控oldValue,newValue,实现属性检测。
    13. extension类扩展,可以扩展属性和方法
    14. @available(iOS 9.0, macOS 10.11, tvOS 9.0, *)
    15. 有没有变异方法决定数组的可变课不可变
    16. 写时复制,对于真正用到,才分配内存
    var diameter: Double {
          get { return radius * 2}
          set { radius = newValue / 2} 
    }
    radius // 10
    diameter // 20
    diameter = 1000
    radius // 500 
    
    1. var colorToUse = userChosenColor ?? defaultColor

    var radius: Double = 10 {
    willSet { print("将要赋值中") }
    didSet { diameter =radius * 2}
    }
    }
    radius = 10 // 将要赋值中
    diameter // 20.0 ```

    1. 便利初始化class Human { var finger: Int var toe: Int init(finger: Int, toe: Int) { self.finger = finger self.toe = toe } convenience init() { self.init(finger: 10, toe: 10) // 调用主初始化方法 } } var daDi = Human() daDi.finger // 10 daDi.toe // 10

    相关文章

      网友评论

          本文标题:Swift 关键字

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