1.Swift的发展趋势。
2014 年夏天,苹果在 WWDC 大会上宣布了全新的程序语言 Swift,主要用来开发 iOS 与 OSX 应用。 2015年底,苹果将 Swift 开源,试图吸引其它公司也支持 Swift。目前代码托管网站 GitHub 显示。地址:(https://github.com/apple/swift-evolution)直到2017.3月份Swift 这个全新的语言现在是平台流行榜上排名已经达到第 10 位,按照现在趋势来看,2018会持续上升!
总之,虽然还处于过渡时期,但趋势很明朗了,Swift 必然会替代 Objective-C,并且比想象中来得快。现在就应该做好准备了。假如之前已经掌握了 Objective-C,切换到 Swift 也不难。Swift 中很多概念在 Objective-C 中已经存在。随着时间推移,Swift 在整个 iOS/Mac 工程中占的代码比例会越来越多,而 Objective-C 作为粘合层还是会存在。
2.Swift的优缺点。
优点: 1.简洁的 class、extension 和 property 定义方式。 OC 定义一个 class 至少需要 4 行,而 swift 只需要两行。新建类的成本大大降低,可以避免因为书写成本高而没有使用类的情况,而此时新建类通常使代码更加整洁。 2.支持命名空间。 3.支持函数重载。 4.override 修饰符。避免了无意间重写父类方法。 5.Tuple(元组)。低成本且使用方便的数据集合。它提供了函数多个返回值功能。 6.简洁的闭包写法。{ a in … } 比 C/OC 中丑陋的 block 写法好很多。 7.支持运算符重载。 8.不用写分号! 缺点: 1.Swift灵活性非常大,既能用OP,又能用OO,语法写法还比较多样化,所以团队项目合作中必须注意,尽量能统一风格,否则会导致一片乱~ 2.Swift不支持宏,OC里面比较常用的宏,比如下面这个UIColorFromRGB就没法用了。 3.不支持与C++混编,必须通过OC包一下C++的接口,Swift才能使用。使用一些跨端的C++库(OpenGL、全文搜索、网络底层等)比较麻烦。 4.Swift的错误信息非常不准确,难以准确定位。