之前看了一本swift的书了,极客学院出版的,感觉不错。具体书名就不提了(主要忘记了),也就不打广告了。这本书侧重于语言,在此之前,除了苹果刚才教程的时候,尝鲜外,没有敲过代码。
无意中发现一个傻瓜教程,附网址:从零开始学Swift计时器App开发,但是,发现教程中有基础错误,在此就不指出了。
简单说说,心得:
1、swift的方法调用,竟然使用字符串,这样极大的不利于调试,而且字符串也很容易写错,之前在OC中,如果你写的方法存在,它会自动补充,不存在,它会爆出警告,而字符串,就悲剧了。果然,在写这个项目的时候,几次都有这个问题。
2、swift的调试,
明明,数组中已经存在了4个元素,两边都没有显式,导致,我以为数组没有初始化,加不进去东西。
差评!
3、swift是强类型,安全语言,数据类型的转换是显式的,
如:let timeIntervalSinceNow:Double = Double(seconds)
原文中使用的是使用,swift转成OC,再进行数据转换,
let timeIntervalSinceNow = NSNumber(integer: seconds).doubleValue
类似的用法还有很多,比如,字符串转为数字,这个swift是没有的,
(version as Nsstring).doubleValue
4、编译器对表达式复杂的抱怨
// 原来的表达式,是有点长 let gap = (self.view.bounds.size.width - 10*2 - (CGFloat(timeButtons!.count)*64))/CGFloat(timeButtons!.count-1)
// 断开后,果然不报错了
let gap1 = (self.view.bounds.size.width - 10*2 - (CGFloat(timeButtons!.count*64)))
let gap = gap1/CGFloat(timeButtons!.count)
// 编译器给出的错误 Expression was too complex to be solved in reasonable time; consider breaking up the expression into distinct sub-expressions
5、虽然吐槽了很多,但是感觉swift还是不错的,感觉再多写几个,完全可以上手!
附我的demo地址:https://github.com/ralbatr/SwiftClock 修正了许多问题,添加了对IOS8一下版本通知的支持。