swift 与OC

  • swift 3 -4 的移植相比较swift 2.2 -3来说容易一些

  • 原有API变化不太大,主要体现在API的新增上(归档,实现codable协议就可以使该类型支持编码和解码)

OC 和swift区别

  • 优势
    1、Swift容易阅读,语法和文件结构简易化。

2、Swift更易于维护,文件分离后结构更清晰。

3、Swift更加安全,它是类型安全的语言。

4、Swift代码更少,简洁的语法,可以省去大量冗余代码

5、Swift速度更快,运算性能更高。

  • 劣势
    1、版本不稳

2、使用人数比例偏低,目前还是OC的天下

3、社区的开源项目偏少,毕竟OC独大好多年,很多优秀的类库都不支持Swift,不过这种状况正在改变,现在有好多优秀的Swift的开源类库了

4、公司使用的比例不高,很多公司以稳为主,还是在使用OC开发,很少一些在进行混合开发,更少一些是纯Swift开发。

5、偶尔开发中遇到的一些问题,很难查找到相关资料,这是一个弊端。

6、纯Swift的运行时和OC有本质区别,一些OC中运行时的强大功能,在纯Swift中变无效了。

7、对于不支持Swift的一些第三方类库,如果非得使用,只能混合编程,利用桥接文件实现。

  • 联系
    1.共用一套运行时环境
    2.互相引用混合编程
    3.绝大多数概念,比如引用计数、ARC、属性、协议、接口、初始化、扩展类、命名参数、匿名函数等还是继续通用

  • 现阶段Swift 到底能不能取代 Objective-C?

其实到现在为止 Swift 离完全替代 Objective-C 还是有一定距离,因为 Apple 内部一直在用 Objective-C 来做一些 Framework 的开发,底层也不可能用 Swift 实现,所以现在更多的替代是体现在外部开发。

你可能感兴趣的:(swift 与OC)