直接进入知识点方面
1/Swift类型安全,所以可以进行类型推断
e.g. var maxInt = 1 //推断为Int类型
2/二进制,八进制,十六进制
var two = 0b110 //二进制
var eight = 0o110 //八进制
var sixteen = 0x110 //十六进制
3/类型别名 关键字:typealias
4/元组(tuple) 可以存放任何属于
访问可以通过下标的方式访问
5/Swift中nil与OC中的nil区别
Swift中代表空值,是个确定的值 OC中的nil指向一个不存在对象的指针
6/可以使用断言进行调试 assert
7/浮点数取模 8%2.5 = 0.5
8/可以使用区间运算 两种 全区间(...) 不包括空间 (..<)
9/String 取前缀和后缀 的方法 :hasPrefix/hasSuffix
10/switch里面的值绑定 如下面的代码中的let x 就是值绑定, 而且可以使用Where这样的谓词
var TestData = (1,1)
swith TestData{
case (let x,1) Where x == 1:
}
11/输入输出函数
func getName (inout name:String)->String {}
12/闭包的表达式:
{(parameters) returnType in statements}
var sort = sorted( names,{ s1,s2 in return s1>s2})
var sort = sorted(names,{$0>$1})
13/闭包是引用类型
14/原始值 rawvalue 新zhi newvalue
15/类与结构体的区别
不同点: 1.类可以继承 2.引用计数允许对一个类的多次引用 3.类可以在解构器里面释放资源 4.类是引用类型,结构体是值类型 5.类型转换的时候允许检查和解释一个类实例的类型
16/swift中没有指针的语法,引用类型就是指针
17/Swift中String Dictionary Array 都是值传递,会发生拷贝行为 OC 中的不会,传递的是已经实例化的引用
18/延迟存储属性 lazy
19/修改实例方法 mutating
20/栈:先进后出(stack) 队列:先进先出(Queue) 线程里面需要