俄罗斯方块练习中对 swift 语言的体会

来源:互联网 发布:淘宝库存在哪里修改 编辑:程序博客网 时间:2024/05/21 17:24

体会最深的是 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 是一个灵活的语言,在小项目中使用体现不大出来,之后再更新

0 0
原创粉丝点击