美文网首页Swift之家
Object-C 和 Swift 项目混编

Object-C 和 Swift 项目混编

作者: 小小土豆dev | 来源:发表于2017-06-20 22:12 被阅读519次

    Object-C 和 Swift 项目混编分为两种情况:

    第一种:在 Object-C 创建的项目中混编 Swift 代码

    第二种:在 Swift 创建的项目中混编 Object-C 代码

    在实际使用中,两种方式的具体实现一样,比如:在 Object-C 类中调用 Swift 类,或者在 Swift 类中调用 Object-C 类,这个在两种工程中是一样的。下面就以 Object-C 项目为例。

    Object-C 项目混编 Swift 代码

    第一步:在 Object-C 创建的项目中新建一个 Swift 类,并创建一个类型为String名字为name的可选属性。

    SwiftModel.swift

    如果你是第一次在工程中创建 Swift 类,工程会提示你是否需要创建 Objective-C bridging header,这个就是所谓的桥接文件。点击 Create Bridging Header,此时会在你的工程中多出一个文件(文件命名规则是:工程名-Bridging-Header.h)

    bridging Header OC项目-Bridging-Header.h

    第二步:在 Object-C 类中调用刚才创建的 Swift 类。首先需要在调用 Swift 代码的类中导入 Swift 头文件,这个是固定写法(规则是:工程名-Swift.h),然后就可以调用我们刚才的 Swift 代码了。

    ViewController.m

    按住 Command 用鼠标点击 "OC项目-Swift.h" 头文件,我们可以看到 Xcode 把我们刚才的 Swift 代码转换成了 Object-C代码,所以在我们需要用到 Swift 代码的类中导入这个文件就可以了。

    OC项目-Swift.h

    第三步:在 Swift 类中调用 Object-C 代码,这个时候就用到了桥接文件,如果你想在 Swift 代码里调用 Object-C 代码,那么你就需要在桥接文件里声明 .h 头文件。

          首先创建一个 Object-C 类用于在 Swift 类中调用

    OCModel.h

          在桥接文件里声明我们需要调用类的 .h 文件(头文件)

    OC项目-Bridging-Swift.h

          在 Swift 类里调用 Object-C 代码

    SwiftViewController.swift

    第一步中,当我们第一次创建 Swift 类时,系统会提示:Would you like to configure an Object-C bridging header? 如果我们点了 Don't Create 那就没有桥接文件了,那怎么办?

    我们可以手动创建桥接文件

    首先,创建桥接文件(文件命名规则是:工程名-Bridging-Header.h)

    创建桥接文件

    其次,配置桥接文件路径

    配置桥接文件

    至此,桥接文件创建成功。

    相关文章

      网友评论

      本文标题:Object-C 和 Swift 项目混编

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