首页 > 代码库 > 在OC项目中添加Swift文件并实现混合编程

在OC项目中添加Swift文件并实现混合编程

   对于已经工作的开发者,并不适合也没有条件从一个全新的swift项目开始,进行开发. 虽然网上关于swift和oc混合编程的教程比较多,但是大多是基于 swift项目的,所以对咱们 OCer的参考价值有一定折扣.

   现在swift虽然仍然存在很多缺陷,但是鉴于苹果的强势,是时候在项目中把简单的功能交给swift了,给自己,给项目,给swift一个缓冲区,都是极好的.

   说了这么多,开始上代码.


   现在的背景是: 已经有一个oc项目了,我想要加入 swfit,并且实现 oc调用 swift ,swift调用oc .

   1.新建一个swift文件

    技术分享

   2.接下来会询问你是否建立桥接文件,点击是 ,那么我后面的就是多余的了,所以选择取消,我们手动建立桥接文件

   3.手动建立桥接文件:新建头文件 

技术分享


     关于命名: 有经验的人都知道,这个头文件是项目公用的,同时如果自动创建,文件名也是 :

     项目名-Bridging-Header.h 

     但是因为我现在的项目名是中文,所以我自己命名了一下.

  

   4. 配置头文件 

       在build setting里面搜索 swift ,根据实际情况进行配置:

       注意:是相对于工程文件所在的相对路径.从 Finder里面看,不要让项目中得group扰乱你的判断

技术分享

   5.在头文件中引入需要的 oc头文件,这里我就用 UIKit了

技术分享

    

   6.编写代码

  

      可以看到,我们可以使用UIKit的类了

技术分享

   注意:关于自定义类,希望有个好的命名规范,那么在混合编程中,你将受益无穷


  7.oc调用swift

    现在因为测试我想把窗口的根控制器设置为我的swift的那个.

    因为swift没有头文件,所以不好办了...

    其实,系统默认给我们生成了头文件(需要我们的swift类是NSObject的直接或者间接子类),我们只要引入

    项目名-Swift.h

    没办法了,我的项目名是中文...

     引入:

技术分享

  8.使用 swift的类

  技术分享

  9.运行

   一切正常 (好丑,不要吐槽)

技术分享

   

       

 


在OC项目中添加Swift文件并实现混合编程