微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

原文地址:https://www.jb51.cc/swift/322247.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐