美文网首页
Swift和Objective_C的关系

Swift和Objective_C的关系

作者: 小米栗 | 来源:发表于2016-07-16 09:00 被阅读0次

    1-> Swift 与 Objective_C 共用一套运行时环境

          我们编写程序,让程序运行起来,被程序执行的代码并非全部是由我们自己来编写的. 需要同时运行很多预先写好的支持性代码,才能让我们自己的代码运行起来. 程序并非单独存在的,运行时处在一定的环境当中. 我总联想到很多的小蚂蚁在泥土上爬,而我写的程序只是其中的一只.

          Swift 和 Objective_C 编译出的程序代码运行在同一套运行环境上面. Swift 的类型可以桥接到 Objective_C 的类型,反之亦然. Swift 编写的代码可以调用 Objective_C 编写的代码,反之亦然.

          Objective_C 之前积累下来的大量库, 实现不用改写 Swift 就能直接调用.

    2-> 同一个工程,可以同时使用 Swift 和 Objective_C 

          Objective_C 在一端, Swift 在另一端,两端经中间文件进行桥接. 桥接文件包含 Objective_C 的头文件,编译时自动转成 Swift 可以识别的形式. Swift 就可以使用 Objective_C 的类和它的函数.

          在 Swift 的类中,加上 @objc(类名)的字样, Objective_C 也可以使用 Swift 编写的类.但 Swift 跟 C++ 的相互吊桶,需要 Objective_C 来封装. 

    3-> Swift 骨子里大多与 Objective_C 一样

          Objective_C 出现过的绝大数概念,比如引用计数 ARC 属性 协议 接口 初始化 扩展类 命名参数 匿名函数等,在 Swift 中继续有效(可能只是换了个术语).我自己把 Swift 看成是 Objective_C 的一块大的语法糖,其他人可能有不同的感受.

          Swift 大多数概念与 Objective_C 一样, 也有些概念在 Objective_C 找不到对应,比如泛型. Swift 中将那些操作写一次就可以作用多个类型的语法叫做泛型.

    相关文章

      网友评论

          本文标题:Swift和Objective_C的关系

          本文链接:https://www.haomeiwen.com/subject/btacjttx.html