Xcode8/Swift3 入坑笔记

前言

今天把公司项目的swift代码升级到Swift3,遇到了不少坑

现在总算能跑起来了..还有很多坑要踩...
这是改之前的惨状:


发现一条写一条,不定时更新

正题

  • 选了Later之后还想调用系统的自动升级[Edit > Convert > To Current Swift Syntax…]


  • 之前一个控件layoutIfNeed 会带动它所约束的控件一起layout,现在只会单独计算,想达到之前的效果只能整个父级控件调用layoutIfNeed方法了

  • swift取oc得NSDate回自动变成Data类型,一些操作NSDate的第三方库(如:DateTools)会崩溃

  • block的形参要加 " _ " 方法的第一个参数前也要加形参名

  • flatmap和map会返回一个非数组的类型,需要重新用一个返回[T]的方法重写一遍..语法都没有变,改了就好了

  • 控制台会输出一大堆网络日志,需要再Run里加一个OS_ACTIVITY_MODE = disable stackoverflow:http://stackoverflow.com/questions/37800790/hide-strange-unwanted-xcode-8-logs/39461256#39461256

  • Swift调用OC对象属性都自带Optional了,使用的时候要拆包

  • 升级Xcode之后想支持以前的插件可以在~/Library/Application Support/Developer/Shared/Xcode/Plug-ins路径下添加你现在的Xcode的UUID,查看你Xcode的UUID/Applications/Xcode.app/Contents

  • 上面方法还不行的看这个http://vongloo.me/2016/09/10/Make-Your-Xcode8-Great-Again/?utm_source=tuicool&utm_medium=referral

参考文章

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

推荐阅读更多精彩内容