swift 2中关键字和解释整理

1.swift 最新关键字和符号参考:https://developer.apple.com/library/mac/documentation/Swift/Conceptual/Swift_Programming_Language/LexicalStructure.html#//apple_ref/doc/uid/TP40014097-CH30-ID410

 

2.部分关键字解释参考:http://www.cnblogs.com/iCocos/p/4631634.html

3.其他关键字如:

用于递归枚举的indirect:http://wiki.jikexueyuan.com/project/swift/chapter2/08_Enumerations.html

 http://www.jianshu.com/p/219025d963a5

用于定义运算级别的operator,precedence,associativity,left,right,none:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AdvancedOperators.html#//apple_ref/doc/uid/TP40014097-CH27-XID_65

用于反射机制的dynamicType:http://ericasadun.com/2014/06/16/swift-more-than-you-probably-want-to-know-about-type-introspection/

dynamic :http://blog.csdn.net/hello_hwc/article/details/40590955

设计到了KVC/KVO在swift中的代码更简单.

用于类似java do while循环的repeat关键字:http://www.runoob.com/swift/swift-repeat-while-loop.html

try 关键字:http://swift.gg/2015/08/31/swift-2-lets-try/

4.关于1的补充:

mutating 关键字:http://swifter.tips/protocol-mutation/

subscript 关键字:http://blog.csdn.net/hello_hwc/article/details/40627633

这个文章写的不错,给的例子也很好.

5.类相关(final的作用跟java的作用基本类似,不同的是java中修饰的属性是只读(已经有了let)的,而swift仅仅表示不能被继承)

override,set/get willSet,didSet,final:http://c.biancheng.net/cpp/html/2430.html

6.自定义运算:http://nshipster.cn/swift-operators/

  • infix 指定了它是一个二元操作符,有左右两个操作数参数
  • operator 是一个保留字,其必须写在 prefixinfix, 或者 postfix 之后
  • ** 是运算符本身
  • associativity left 的意思是操作是从左侧开始分组的
  • precedence 160 意味着它的运算优先级跟指数运算符 << 和 >> (左右位移)一样。

 格式:

infix operator ** { associativity left precedence 160 }
infix operator **= { associativity right precedence 90 }
func **= (inout left: Double, right: Double) {
    left = left ** right
}


7.相关其他参考:

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.html

中文翻译作品:http://www.cocoachina.com/ios/20140612/8799.html

 最后不得不提一些swift的特性:

1.支持区间运算符

2.支持闭包(函数是一个特殊闭包,当函数返回一个函数的时候叫柯里化)

3.支持下标操作

4.支持序列协议(自带的功能性协议常用的还有,Comparable协议,实现这一协议的对象都是可以参与比较的)

5.支持where子句(这个在判断,泛型中用到用"并且"的意思)

6.支持unicode变量名和字符.数字可以加下划线区分长度

8.可选绑定,动态绑定,可选链

9.try do catch throws throw 组成的更便捷的异常处理

10.guard简化代码,和refer组合更强大

11.Set集合

12.可无缝的将oc版的cocoa框架转为swift对象,例如NSSString,NSMutableArray.

13.协议和结构体(值类型可以被复制,不可被修改),元组(当函数无返回值的时候->Void 和 ->()是等价的)

14.支持扩展  (这个经常用到)

原文地址:https://www.cnblogs.com/xuezizhenchengxuyuan/p/5029429.html