加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift学习心得

发布时间:2020-12-14 02:45:29 所属栏目:百科 来源:网络整理
导读:之前看了一本swift的书了,极客学院出版的,感觉不错。具体书名就不提了(主要忘记了),也就不打广告了。这本书侧重于语言,在此之前,除了苹果刚才教程的时候,尝鲜外,没有敲过代码。 无意中发现一个傻瓜教程,附网址:从零开始学Swift计时器App开发,但

之前看了一本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一下版本通知的支持。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读