美文网首页
全解OC/Swift项目桥接文件(坑点解决)

全解OC/Swift项目桥接文件(坑点解决)

作者: Decin | 来源:发表于2017-12-09 16:37 被阅读0次

无论你在OC项目还是Swift 项目中, 都遵从两个准则:

>在OC文件里只能写OC代码

>在Swift文件里只能写Swift代码

虽然不同语言文件, 但却能互相调用, 不过需要进行一下桥接, 就是需要通过下面的2个文件

1.(ProjectName-Bridging-Header.h)

Swift文件要调用OC代码的时候 你会发现你无法引用OC.h文件, 所以就要用到这个文件, 对OC文件进行桥接.

有两个生成桥接文件的方法,

1.1.通过在Swift/OC项目中直接创建OC文件/Swift文件, 首次Xcode会自动帮你创建, 按照提示操作即可.

图1

1.2.自己创建头文件, 文件名字为任意.h,Building Settings > Swift Compiler-General ,将 Objective-C Bridging Header 设置为此文件的路径, 一般为/任意.h,把一些OC.h文件在这里引用进去, 然后你就可以在Swift文件里操作OC代码

如下图:

图2 图3

总结: 无论你在OC项目中, 还是Swift项目中都有图3所示,Objective-C Bridging Header顾名思义, 在头文件导入OC头文件以供Swift调用

2.(ProjectName-Swift.h)

无论你在OC项目中, 还是Swift项目,OC调用Swift代码需要在OC文件里引用这个文件, 你会发现你的项目中并没有这个文件, 因为这个文件是个隐藏文件, 在项目Build的时候自动生成所有Swift文件对应的头文件声明, 集中写在了该文件中, 在OC文件中直接导入该头文件即可使用

一般的路径如下

/Users/ns/Library/Developer/Xcode/DerivedData/ProjectName-geqrwwqpiybkuddpogphythauoyo/Build/Intermediates.noindex/ProjectName.build/Debug-iphonesimulator/SwiftApp.build/DerivedSources/ProjectName-Swift.h

注意: 若是项目名字有特殊符号, 比如项目名为mpush-client-ios(OC), Xcode会自动替换”-", “(" 和 “)”为”_”, 文件名称变为mpush_client_ios_OC_-Swift.h

图4

相关文章

  • 全解OC/Swift项目桥接文件(坑点解决)

    无论你在OC项目还是Swift 项目中, 都遵从两个准则: >在OC文件里只能写OC代码 >在Swift文件里只能...

  • iOS混编

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

  • OC和Swift的相互调用

    Swift调用OC 在Swift项目中调用OC代码,需要用到桥接文件,在桥接文件中导入需要用到OC类的.h文件。 ...

  • OC项目逐渐向swift转移--踩坑淌雷-0

    1 . 创建swift项目 跟创建OC项目一样,只不过改成选择swift语言而已 2 . 搞桥接文件 桥接文件可以...

  • oc/Swift混编心得(基础篇)

    swift引用oc文件 需要在桥接文件中倒入oc头文件 oc调用swift需要在oc .m中倒入“项目吗-Swif...

  • 2018-03-28 初始Swift 001

    随笔1、swift使用OC:新建或者拖拽一个OC文件到swift项目中,swift项目会自动生成桥接文件。把需要是...

  • Swift-OC如何混编

    创建桥接文件即可实现 Swift 项目接入 OC 代码或者 OC 项目接入 Swift 代码的混合使用。 方式一 ...

  • Objective-C和Swift混编指南

    OC项目混编Swift OC项目创建第一个Swift文件的时候会提示创建桥接文件,我们选择Create Bridg...

  • OC与Swift混编

    OC与Swift如何实现混编 1、 Swift项目中使用OC 在Swift中引用OC需要借助桥接文件xx brid...

  • 2018-07-12 OC 与swift 互相调用

    在OC项目中创建一个swift文件的时候,Xcode 会提示 需要创建一个桥接文件,点确定创建桥接文件,Xcode...

网友评论

      本文标题:全解OC/Swift项目桥接文件(坑点解决)

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