iOS混编

作者: Mr_Watson | 来源:发表于2018-05-17 15:44 被阅读0次

    1.Swift项目调用OC文件

    关键点:创建桥接文件
    步骤:
    1.在项目中首次创建OC文件时,系统会提示是否创建桥接文件

    image.png
    点击 Create Bridging Header 系统会自动创建桥接文件
    系统创建的桥接文件的名称为 "项目名称-Bridging-Header"
    2.如果第一次提示你没创建或者删除了桥接文件后想再创建就只能手动创建桥接文件了
    手动创建桥接文件:Targets -> Build Settings -> 搜索框输入swift,
    Objective-C Bridging Header中的值设置为 项目名称/项目名称-Brigding-Header.h (写相对路径,不然编译时会报错),如图
    image.png
    再创建名为"项目名称-Bridging-Header"的Header File文件

    在桥接文件中添加OC头文件 #import "头文件名.h"
    例如:#import "Student.h",即可在Swift项目中调用Student中OC代码了

    2.OC项目调用Swift文件

    与Swift项目调用OC文件一样需要创建桥接文件,且方法相同

    只是引用Swift文件时不同
    在需要调用Swift文件的类中引用如图头文件


    image.png

    上图中10那个文件,项目中是看不到的,这个文件是生成桥接头文件自动生成的,名字是 项目名-Swift.h(不要自己去手动创建),没有代码提示,需要我们手动敲
    11对应的则是我们创建的桥接文件,有代码提示

    导入Swift第三方库如socket.io-client-swift,chart在桥接文件中添加@import SocketIO;@import Chart;

    3.Swift/OC项目调用C文件

    步骤:
    1.创建桥接文件,同上
    2.创建与C文件同名h文件,在h文件中把C文件中方法进行声明,在c文件中导入h文件
    3.在桥接文件中引入h文件(OC可选择在调用C文件代码的类中引入),即可在Swift/OC中调用C文件中方法
    具体如图所示:


    c文件.png
    h文件.png
    swift文件.png
    oc文件.png
    打印结果.png

    PS: 官方的Swift调用OC、C的API介绍:Using Swift with Cocoa and Objective-C

    相关文章

      网友评论

          本文标题:iOS混编

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