引言
Swift已经面世一年半,而它的2.0版本也随着今年的WWDC2015一同面世. 两周前的Swift开源也让这个语言成为github最火的面向对象语言之一.Swift 作为一门新语言的命运会如何?根据近来针对 Apple 公司及整个生态圈的观察,Swift会成为Apple和这个生态圈的主力语言
一,初见_参考 The Swift Programming Language
二, MARK Tips
1.函数
- tips1 函数类型
|
|
- tips2 可变参数
|
|
- tips3 输入输出参数
|
|
2. 闭包
- tips1 尾随闭包
|
|
- tips2 闭包为引用类型
3.属性
- tips1 setter&getter 在属性内实现get 和set
- tips2 属性观察器 自带willSet 和didSet 属性观察器
4.继承
- tips1 重写, override 重载基类方法
- tips2 防止重写 ,添加 final 修饰
5.构造
- tips1 便利构造器 init关键字之前放置convenience关键字
- tips2 必要构造器 required 表明所有该类的子类都必须实现该构造器
- tips3 通过闭包来设置属性
|
|
6.析构
- tips1 析构函数 deinit
7.引用计数
- tips1 闭包引用self 申明为无主引用
|
|
- tips2 闭包引用变量 申明为weak类型
8.可选链
- tips1 可为空值的对象
|
|
9.类型转换 (swift 多态)
- tips1 向下转型 用as? 和as!
as? 为可选转型,可能转换失败
as!为强制转型,转换不成功则崩溃 - tips2 向上转型用is
- tips3 AnyObject 任意对象类型 类似id
- tips4 Any 任意类型(可能为值类型,enum 和struct)
10.扩展 & 协议
- tips1 关键字extension 结构体和枚举也可以扩展
- tips2 协议关键字protocol 结构体和枚举也可以遵循协议 实现协议
|
|
- tips3 关于协议 Swift是一门面向协议的语言(POP)不同于Objective-C的面向对象语言(OOP) 参考WWDC2015 视频Protocol-Oriented Programming in Swift
11. 泛型
- tips1 泛型函数 泛型可以理解为一种对共有代码的抽象(个人理解)
|
|
|
|
12.访问控制 (关键字合集)
- tips1 internal public private
- tips2 mutating 关键字 增加该关键字实例方法可以修改值类型的属性.参考文章
tips3 Guard语句 (Swift2.0 新特性)
官方解释: 与if语句相同的是,guard也是基于一个表达式的布尔值去判断一段代码是否该被执行。与if语句不同的是,guard只有在条件不满足的时候才会执行这段代码。你可以把guard近似的看做是Assert,但是你可以优雅的退出而非崩溃。
|
|
|
|
- tips4 lazy 懒加载
|
|
|
|