xcode8和swift3

xcode8正式版本可以下载了,里面搭载了swift3。swift3和swift2语法是不兼容的,所以旧代码需要转换才可以用。

xcode8提供了转换工具。我用我的一个swift2的项目来做试验,结果屏幕一片红,全是编译错误。看来转换工具不太得力。转而手工一个一个修改。

xcode提供了针对编译错误的建议修复功能,还是很贴心。只是也不是所有的建议都是对的。这个版本,API的变动很大,比如CGMakePoint函数消失了,让人不得不用CGPoint的构造函数。

有一个很搞笑也很气人的修复建议。我用了string.componentsSeparatedBy(_:)函数,xcode8先提示改为string.componentsSeparated(by:)函数,然后提示改为string.componentsSeparatedBy(by:),接着提示把参数by参数删掉又变为原来的string.componentsSeparatedBy(_:)。如此循环往复。

这个修复提示就像医生给你开药治好你的口疮,但副作用是导致了痔疮;接着治疗痔疮,但副作用又导致了口疮。

最后看了String类的源码才知道正确的是string.components(separatedBy:)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 因为要结局swift3.0中引用snapKit的问题,看到一篇介绍Xcode8,swift3变化的文章,觉得很详细...
    uniapp阅读 10,075评论 0 12
  • private和fileprivate 自动转换代码以后把我大部分(不知道是不是全部,没统计)private都改成...
    CoffeeKid阅读 9,912评论 5 5
  • 1. xcode log 问题 新建立工程,都会打印一堆莫名其妙看不懂的Log 屏蔽的方法如下:Xcode8里边 ...
    Laughingg阅读 4,048评论 0 2
  • 写在前面 收到一些小伙伴的来信,觉得可能下边没有表达清楚,先把大家关心的要点在此进行总结,有兴趣的可以看看下边的研...
    光无影阅读 13,768评论 40 61
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,276评论 4 61