美文网首页
swift 与 OC 之间的调用

swift 与 OC 之间的调用

作者: SuChAChAoS | 来源:发表于2017-07-28 11:37 被阅读0次

这次主要看 在已有OC项目中添加swift文件

一、swift调用OC

首先添加swift:

系统弹出询问框,点击Create Bridging Header按钮,创建桥接文件,桥接文件名称为:

“项目名-bridging-header.h”

该桥接文件的作用:swift 调用 OC。

swift需要的OC类,均需要在桥接文件中import

设置桥接文件路径:

Build Settings->Swift Compiler-General->Objective-C Bridging Header 

该路径可以为虚拟路径 也可以为实际路径

在swift中引用OC第三方库:

以MJRefresh为例:

Add Files之后,点击Options,勾选Copy items if needed、Create groups

点击add

添加第三方库之后,需要更改search paths

Building Settings -> Search Paths -> User Header Search Paths

双击空白处,填写${SRCROOT},选择recursive,意为添加了根目录下所有文件

更改之后如图显示,** 意为根目录下的所有文件

注意!!!

swift 中引入OC第三方库的时候

要通过 Add Files to 来添加

否则项目容易找不到第三方库文件,编译不过出现如下错误:

_OBJC_CLASS_$_文件名,No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386)

二、OC调用Swift:

OC调用swift主要依托的桥接文件是:“项目名-Swift.h”

该桥接文件作用:OC调用Swift


配置:

Building Settings -> Packaging 

将Defines Module 设置为Yes

Product Module Name 为当前工程名称,它也关系着桥接文件的名称

若Product Module Name 为XXX,则桥接文件名为:“XXX-Swift.h”

该文件为系统自己创建,并没有显示的展示出来,通过command+左键 可以查看:

注意!!!

“项目名-Swift.h”文件只能在.m文件中引用,在.h文件中引用会报错!

原因未知,我初步估计可能是Build Phases -> Compile Sources 中,编译源只能添加.m文件,调查清楚后再做具体修改。

相关文章

  • iOS面试-0x06配置

    0x00 OC和Swift之间的调用 1)swift调用oc,主要是在header.h 文件中添加了相应的oc头文...

  • Swift-Basic Learning

    1. Siwft与OC混编 OC调用SWIfFT SWIfFT调用OC 2. Swift用cocoapods管理...

  • swift 与 OC 之间的调用

    这次主要看 在已有OC项目中添加swift文件 一、swift调用OC 首先添加swift: 系统弹出询问框,点击...

  • OC与Swift混编

    OC与Swift混编 一.objectivec与Swift相互调用对照 OC interface文件如下 转换后对...

  • Swift类与OC类相互调用

    这里将使用Xcode 8.0演示Swift与OC类的相互调用 - Swift项目中调用OC类 1.首先在Swift...

  • Swift与OC、C++混编

    Swift与OC混编 Swift工程中调用OC代码 不需要在Swift中import OC的类,统一在桥接文件中导...

  • oc Swift 混编

    oc Swift 混编 oc 项目 混编Swift1.1 oc 调用 Swift 的类 和 方法步骤: ...

  • OC-Swift混编相关配置

    1.oc调用swift 在oc中使用swift代码,需要把swift代码作为module暴露给oc进行调用 配置如...

  • Swift与OC混编

    标签:Swift 在Swift中调用OC 首先创建OC/Swift工程 然后创建swift/OC文件,Xcode会...

  • swift 与oc混编 ,找不到“Project Name-Sw

    当我们在用swift 与 oc 混编的工程中,oc文件调用swift 定义的类时,在oc的.h 文件中导入头文件 ...

网友评论

      本文标题:swift 与 OC 之间的调用

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