美文网首页
Swift 与 Objective-C混编

Swift 与 Objective-C混编

作者: 伊尔今夏 | 来源:发表于2016-05-24 20:44 被阅读101次

    最近在慢慢尝试使用Swift,怎么说呢,就是碰到各种各样的问题。一个个解决吧。

    Swift 和 Objective-C 代码的混编

     创建一个主要用Swift编写的项目工程

    这个应该不需要多说

    在Swift工程添加OC的文件

     在Swift工程中新建一个OC的文件的时候,会有弹框提示。会在项目中添加一个bridging header的文件,默认名字

    ProductModuleName-Bridging-Header.h 也可以修改它的名字。

    设置Target

    在添加完上面的header文件之后,还要在target中在Swift Compiler 和 Packaging中分别设置一下,告诉它你已经添加了这个东西

    默认系统已经添加了,如果没有,请手动添加。

    注意!!!:Bridging Header 的文件地址,如果改变XXX_Header.h的文件地址,请一定要更新到Swift Complier设置中。


    使用ProductModuleName-Bridging-Header.h

    所以跟OC一起生成的这个文件干嘛用呢?在 Header.h 中加入OC的头文件,Swift 中使用 OC 的代码或者库,只需要在这个文件中 import相应代码或者库的头文件即可。

    ProductModuleName-Swift.h

    ProductModuleName-Swift.h又是什么呢?

    官方文档:

    当OC文件想要调用Swift类的时候,相应的就要用到这个ProductModuleName-Swift.h这个文件。ProductModuleName-Swift.h和ProductModuleName-Bridging-Header.h 不同,ProductModuleName-Swift.h 文件不会出现在项目中,而是由 Xcode 自动生成。OC 中使用 Swift 代码,在使用的文件中#import XXX-Swift.h

    Swift与C++ 的混编

    因为Swift与C++混编比较麻烦,因为OC与C++的混编比较容易在OC的.mm后缀名即可,所以采用曲线救国的方式。通过OC与C++的混编,在OC的类中定义相应的接口供Swift调用。

    相关文章

      网友评论

          本文标题:Swift 与 Objective-C混编

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