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
是一个保留字,其必须写在prefix
,infix
, 或者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.相关其他参考:
中文翻译作品: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.支持扩展 (这个经常用到)
swift 2中关键字和解释整理的更多相关文章
- Swift 3中新的访问控制关键字fileprivate和open
在Swift 3中除去原有的3个访问控制关键字private,public,internal,又添加了2个关键字fileprivate和open 它们可以看成是对private和public的进一步细 ...
- Linux kernel中常见的宏整理
0x00 宏的基本知识 // object-like #define 宏名 替换列表 换行符 //function-like #define 宏名 ([标识符列表]) 替换列表 换行符 替换列表和标识 ...
- sql关键字的解释执行顺序
sql关键字的解释执行顺序 分类: 笔试面试总结2013-03-17 14:49 1622人阅读 评论(1) 收藏 举报 SQL关键字顺序 表里面的字段名什么符号都不加,值的话一律加上单引号 有一 ...
- Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数
Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4 为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...
- C语言中关键字volatile的含义【转】
本文转载自:http://m.jb51.net/article/37489.htm 本篇文章是对C语言中关键字volatile的含义进行了详细的分析介绍,需要的朋友参考下 volatile 的意思是“ ...
- Swift标识符和关键字
任何一种计算机语言都离不开标识符和关键字,下面我们将详细介绍Swift标识符和关键字. 标示符 标识符就是给变量.常量.方法.函数.枚举.结构体.类.协议等指定的名字.构成标识符的字母均有一定的规范, ...
- C语言中关键字auto、static、register、const、volatile、extern的作用
原文:C语言中关键字auto.static.register.const.volatile.extern的作用 关键字auto.static.register.const.volatile.exter ...
- 关于 Swift 4 中内存安全访问
前言 本文主要翻译今年 The Swift Programming Language (Swift 4) 中新出的章节 -<Memory Safety>.在 Swift 4 中,内存安全访 ...
- C#中泛型的解释(object,list,var,dynamic的区别)
泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个新功能.泛型将类型参数的概念引入 .NET Framework,类型参数使得设计如下类和方法成为可能:这些类和方法将一个或多个类型的 ...
随机推荐
- [前端性能提升]--图片转化为base64
图片的 base64 编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址 意义:网页上的每一个图片,都是需要消耗一个 http 请求下载而来的(所有才有了 csssprites 技术 ...
- 剑指offer ------ 刷题总结
面试题3 -- 搜索二维矩阵 写出一个高效的算法来搜索 m × n矩阵中的值. 这个矩阵具有以下特性: 1. 每行中的整数从左到右是排序的. 2. 每行的第一个数大于上一行的最后一个整数. publi ...
- soa服务治理-dubbo
dubbo官网:http://dubbo.io/Home-zh.htm 学习点: 1. 日志的配置
- redis服务器安装-SuSE Linux Enterprise Server 11 SP3
一.下载 官网下载,可自选版本,点击进入下载,这里下载了redis-3.2.4 放到 /root/usr/local/redis/ 目录下 二.编译 1. 执行make编译redis tar -zxz ...
- C语言中的位运算的技巧
一.位运算实例 1.用一个表达式,判断一个数X是否是2的N次方(2,4,8,16.....),不可用循环语句. X:2,4,8,16转化成二进制是10,100,1000,10000.如果减1则变成01 ...
- Eclipse/MyEclipse 安裝後應該更改的設置
基本上都通過 Window -> Preferences 進行設置: Java 保存自動格式化: Java:Java -> Editor -> Save Actions,選中 Per ...
- Extjs控件属性
Ext.form.TimeField: 配置项: maxValue:列表中允许的最大时间 maxText:当时间大于最大值时的错误提示信息 ...
- linux 查看磁盘占用情况
查看"/usr/local/"路径下,所有文件大小总和.只列出总和,不显示该路径下各子文件的大小. du -sh /usr/local/ 结果显示如下图: 如果要详细显示出各子文件 ...
- TypeScript 学习二 表达式和循环
表达式: 1,箭头表达式:将function用箭头代替,参数相应进行处理: 用来声明匿名函数,消除了传统匿名函数的this指针问题: 1) 例:简单的方法体为单行的方法,此时不需要大括号和return ...
- 微信小程序使用场景及取名“潜”规则
微信小程序使用场景举例: 1.查看公交 2.登记.选座 3.订票 4.K歌.叫代驾 5.快递查询 6.查看天气 7.医院挂号.拿药.缴费 8.加油充电 9.政务服务 微信公众号“数据三观”认为,小程序 ...