迁移到 Swift 3,这些陷阱在等你
万岁!Swift 3 发布了,让我们一起来移植项目吧!在这篇文章中,我会你分享我的项目迁移到 Swift 3的经历,那是一个 2 万行的 Swift 项目。如果你对此感到好奇,这个项目其实是我实现的 Cassowary 线性约束求解算法,该算法最著名之处在于其通常被用于页面的自动布局。但我将它用在了一些完全不同的事情上,我将会在以后的文章中说明。
Swift 移植器
第一步是从 Xcode 中运行 Swift 移植器来对我的项目进行转换。移植器帮助我定位了大部分必须修改的地方,这节省了我很多的工作。而有几件事情我不得不在这之后做出修改,虽然这并不是很麻烦。在我必须重写的功能中,最有趣的是权限变更(新的权限模型默认为使类 public 和方法 open,但我想在大多数情况下限制这一点)和