体会最深的是 swift 的强类型
swift 是强类型,并且比 Objective-C 更加严格
如 Int + Double 这样的操作有两种方式
强制把低精度值转化成高精度值,然后相加
重写 + 方法,使用新的 + 方法去完成操作,但是和前种方式并没有太多区别
as! 使用
下面是UiSlider的value改变回调函数,使用as!来指定相关的类型
@IBAction func speedChanged(_ sender: Any) {
let slider = sender as! UiSlider
speedLab.text = String(Int(slider.value))
}
Int? Int!
加深了 ? ! 的理解
Int? 接受 Int型值 和 值缺失 两种情况
在使用的时候需要使用 ! 强制解析,如果没有值,需要做个if分支区分开来
Int! 和 Int?
不同的是,使用时不需要用 !强制解析
但使用前还是要做判断,否则可能导致运行时错误。
swift3 进一步精简了代码书写
for (int i =0 ; i < n ; i++ )
这种方式不能用了
使用
i += 1
for i in 0 … n
for i in 0 ..< n
编译器足够友好
重写UIViewController的方法时,编译器足够友好,自动帮你完成输入
语言书写规范
用好分隔符号,如 1+1 要写成 1 + 1, 否则可能导致编译错误
应该有其他的规范,需要找一下相关的章节看一下。
更多
swift 确实精简,精简了很多类名称,枚举,类实例方法的调用都有简化,需要书写的代码会少很多。Objective-C的方括号没有了之后,书写起来会流畅很多,不需要考虑前后对应的问题了。
swift 是一个灵活的语言,在小项目中使用体现不大出来,之后再更新