随着Swift3.0的推出, 使用Swift开发, 掌握这门技能也成为了必备技能, 下面来简单谈谈而且之间的异同。
Swift和OC间的联系
1.swift句尾不需要分号,除非你想在一行中写三行代码就加分号隔开。
2.swift不要写main函数,程序默认从上往下执行
3.swift不分.h和.m文件,一个类只有.swift一个文件
4.swift不在有地址的概念
5.swift数据类型都会自动判断, 只区分变量var 和常量let
6.强制转换格式反过来了OC强转:(int)a Swift强转:int(a)
7.整数的数据类型可以通过.min和.max获得最大和最小值
8.定义类型的别名语法改变OC:typedef int MyInt Swift:typealias MyInt = int
9.swift的模除取余运算符支持小数了。 如 5%1.5 = 0.5
10.关于BOOL类型更加严格,Swift不再是OC的非0就是真,而是true才是真false才是假
11.与第10点相联系的就是,swift的赋值运算符没有返回值。防止误用“=”和“==”
12.swift可以多对多赋值。 let(x,y) = (1,2)
13.swift的循环语句中必须加{}就算只有一行代码也必须要加
14.swift的switch语句后面以前只能跟整数,现在可以跟各种数据类型了,如浮点字符串都行,并且里面不用写break,
15.OC中没有异常捕捉机制, 而这也是Swift相对OC独有的。
如果不想要没break的效果 即后面的都想执行 那就写上关键字 fallthrough(注意:在fallthrough后面就不能再定义常量变量了)
Swift的优点
1、简洁(不是说语法体系简洁,而是书写)
2、结合playground,做到真正意义上的所见即所得
3、便于扩展(能桥接ObjC)
4、还有直接支持闭包。你想在哪儿定义函数就在哪儿定义。
5、而且既能面向过程,又能面向对象,还能来个函数式编程风格
缺点:
这东西确实很灵活,但是在团队项目中必须注意风格统一,否则大家都用OO,突然某个人来个大量的FP Style,那可就Boom了。
网友评论