含着泪做Swift3迁移

前言

随着Swift 3 release版本正式发布,我们的项目也开始了Swift3的迁移工作。含着泪,做吧!!!
Talk is cheap, show me the code

Alamofire

Alamofire是Swift开发的非常优秀的网络加载库,之前项目中一直使用它来做网络加载,但是Swift3开始Alamofire最低支持iOS9+,对于需要适配iOS8+的我们来说,无疑是个噩耗
针对这个情况有两种方法:

  1. 找替代库-为此我将网络加载库换成了Just 一个轻量级的网络加载库,关于Just的使用在这里不做太多赘述,感兴趣的读者可以阅读以下这篇文章-Just-一个轻量级网络加载库
  2. 自己实现

类转换部分

Swift3开始Apple去除了Foundation框架,由此一些类也发生了改变:

含着泪做Swift3迁移_第1张图片
Swift3_class.jpg

这是这次更新替换的类,估计以后会替换更多(oh, my god)

GCD

Swift3对GCD做了很大的改变,更加Swift化了,现在GCD用起来也很方便,关于Swift3中GCD的用法请看这篇文章-Swift3-GCD用法简介

应用级别

当我费了九牛二虎之力 消除了所有的错误和警告之后,满心欢喜的运行程序,结果是应用直接黑屏.
赶紧找原因吧...
解决方案:

Swift3_02.png

问题就出在这个方法上面,这里Xcode8不会做自动转换,也不会报错和警告

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool  

你可能感兴趣的:(含着泪做Swift3迁移)