美文网首页Swift
OC与Swift混编(OC中使用Swift 与 Swift 中使

OC与Swift混编(OC中使用Swift 与 Swift 中使

作者: 刺客辣条 | 来源:发表于2016-08-07 15:39 被阅读438次

OC中使用Swift

1、在项目中右键添加一个 Swift 文件,如TestSwift.swift。

2、添加后 Xcode 弹出‘是否配置 OC 桥接头文件’的提示,点确认,系统自动生成一个项目名-Bridging-Header.h的文件,如TestSwift-Bridging-Header.h。配置 OC 桥接头文件的提示。

3、TestSwift-Bridging-Header.h实质上是一个供 Swift 使用的头文件,在这里把所有要暴露给 Swift 的 OC 头文件都添加进去,这样写 Swift 的时候就可以直接使用那些 OC 的类和方法了。

因为 Swift 本身没有头文件,只有. swift;而 OC 有. h 和. m 文件。有了这个声明,.swift 就可以直接使用 OC 的. h 了。

4、接下来直接在TestSwift.swift中写 Swift 代码。

5、在 OC 中使用 Swift,我在AppDelegate.m中使用刚才创建的 Swift 类,那么先要引用 Swift 头文件,即#import "TestSwift-Swift.h",然后在这个 .m 文件中就可以任意使用 Swift 创建的类和方法了:

6、理解 #import "TestSwift-swift.h"

其实是项目名-swift.h,这也是 XCode 自动生成的,根据你写的所有 Swift 代码,生成一个 OC 的. h 文件,进行类和方法的声明,这样在 OC 里引用这个头文件后,就相当于引用了所有 Swift 声明,可以直接使用了。

Swift 中使用 OC


Swift 代码引用 OC,需依靠Objective-C bridging header将相关文件暴露给 Swift。

创建Objective-C bridging header有两种方法:

1、当在 Swift 项目中初次尝试创建 OC 文件时(不能通过拖拽的方式加入项目),系统会自动帮你创建Objective-C bridging header.

此时除了.h、.m文件之外,会额外多出一个叫做项目工程名-Bridging-Header.h的文件,这个文件中导入的类是可以暴露给 Swift 看到的。要做的,只是#import XXXX.

2、自己创建Objective-C bridging header

File > New > File > (iOS or OS X) > Source > Header File

切记,名字一定要是项目工程名-Bridging-Header.

然后还有一步,在项目的Build Settings选项里,要确保Swift Compiler选项里有这个Bridging Header文件的设置,路径必须指向文件本身,而不是目录!

相关文章

  • OC与Swift混编

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

  • Object-C与Swift的混编

    关于swift与oc的混编分为两种情况: 1. 在swift项目中引入OC文件 在swift项目中使用oc的时候需...

  • OC项目中使用Swift

    Swift和OC 混编的两个方面 1.OC项目中使用Swift2.Swift 项目中使用OC OC项目中使用Swi...

  • Swift与OC混编

    Swift与OC混编:OC文件使用Swift文件时,引入#import (项目名字)-Swift.h。(系统帮我们...

  • iOS开发之一Swift与OC混编

    Swift与OC混编:OC文件使用Swift文件时,引入#import (项目名字)-Swift.h。(系统帮我们...

  • OC引入Swift,混编

    一、OC中引入Swift 最近在研究swift时候,需要实现OC与Swift混编,因此总结了以下几个步骤实现OC中...

  • Swift

    混编 15、OC与Swift的混编_海森堡_lichangan的博客-CSDN博客_oc swift 混编[htt...

  • OC与Swift混编 / Mix & Match

    OC与Swift混编 / Mix & Match OC in Swift 通过Header File创建Bridg...

  • Swift与OC、C++混编

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

  • oc Swift 混编

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

网友评论

本文标题:OC与Swift混编(OC中使用Swift 与 Swift 中使

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