美文网首页
2018-03-08

2018-03-08

作者: hello_JSH | 来源:发表于2018-04-13 16:44 被阅读15次

Swift关键字

  • associatedtype: 协议-关联类型, 作用:为协议中的某个类型提供了一个占位名(或者说别名)
  • inout: 输入输出参数,作用:修饰参数标签,是该参数在此函数体内,可修改。
  • operator: 操作符,自定义操作符时,必带。
  • class: 其中一个作用是:修饰类方法、类属性(类属性:只有在这个类第一次访问时,才被初始化,线程安全)。
  • static:其中一个作用是:修饰类方法、类属性。结构体、枚举只能使用关键字static修饰
  • struct: 声明结构体。
  • subscript:下标。语法:subscript(index:type) ->returnType { get{} set{} }
  • typealias: 起别名
  • defer: 将代码的执行延迟到当前的作用域退出之前。注意:内部不能包含任何控制转移语句。(应用场景,打开时数据库,关闭数据库。获取图形上下文,关闭图形上下文)
  • fallthrough: swich中贯穿
  • guard: guard else{} 提前终止
  • in: 闭包中作用:表示闭包的参数和返回值类型的定义已经完成,闭包函数体即将开始。
  • repeat: repeat{}while 表达式; 相当于do{}while 表达式;
  • where: 条件语句,where具体用途
  • is: 能否向下转变
  • as: 向上转变或桥接。(向超类转变)
  • as?:返回可选值
  • as! : 强制类型转变,转变失败,导致运行时错误。
  • @IBDesignable dynamic,eg:open dynamic var textColor: UIColor;能在xib中显示设置项 TagListView
  • associativity: 自定义操作符时,指定优先级。associativity
  • final:防止重写
  • Indirect:枚举递归
  • self和Self
fileprivate func < <T : Comparable>(lhs: T?, rhs: T?) -> Bool {
  switch (lhs, rhs) {
  case let (l?, r?):
    return l < r
  case (nil, _?):
    return true
  default:
    return false
  }
}

fileprivate func >= <T : Comparable>(lhs: T?, rhs: T?) -> Bool {
  switch (lhs, rhs) {
  case let (l?, r?):
    return l >= r
  default:
    return !(lhs < rhs)
  }
}

相关文章

网友评论

      本文标题:2018-03-08

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