本文共 1881 字,大约阅读时间需要 6 分钟。
参考:https://www.cnblogs.com/mazhiqiang/p/5557002.html
=============swift中调用OC创建桥接路径:
*****************方法一:在swift中创建OC代码会自动跳出创建桥接文件的提示;
在swift项目中创建一个OC文件的时候,Xcode 会提示创建一个桥接文件 点确定创建桥接文件,Xcode会自动创建一个桥接文件
名字:工程名-Bridging-Header.h
把swift需要用到的OC文件的头文件放到桥接文件里 工程名-Bridging-Header.h
*************方法二:在Build Setting -> Objective-C Bridging Header添加桥接文件路径;在bridging.h里面引入相应的OC的头文件;在工程中即可使用;
=================OC中调用swift创建桥接路径:参考https://www.jianshu.com/p/28b05cca9271
*********方法一:在OC项目中创建一个swift文件的时候,Xcode 会提示 需要创建一个桥接文件,点确定创建桥接文件,Xcode会自动创建一个桥接文件;
(添加一个XXSwift.swift文件
添加后Xcode弹出‘是否配置oc桥接头文件’的提示,点确认,系统自动生成一个FastAppAwift-Bridging-Header.h的文件)
1、进入TARGETS ->Build Settings -> Packaging 中,设置Defines Module为YES
设置 Product Module Name ,也可以不设置,默认为工程的名字(FastappSwift)。这个在后面会用到
2、在swift写一个类
注意这个类一定要继承NSObject,
3.在OC需要用到的swift文件中 导入文件 "FastappSwift-Swift.h" 因为 Product Module Name 默认是工程的名字;
直接导入 #import "FastappSwift-Swift.h"
理解下#import "FastappSwift-Swift.h"
其实是项目名-Swift.h,这也是Xcode自动生成的,根据你写的所有swift代码,生成一个oc的.h文件,进行类和方法的声明,这样在oc里引用这个头文件后,就相当于引用了所有swift声明,可以直接使用了。
*****************方法二:自定义设置bridge
如果不用Xcode提示创建桥接文件也可以自定义一个桥接文件
1 使用 Header File 把里面的内容清空。
2、 这文件名可以自定义, 一般还是用 工程名-Bridging-Header.h 例如app - file.h
3 然后在 Build Setting -> Swift Compiler - General中
4、设置Objective-C Bridging Header 为自定义的桥接文件相对于工程的绝对路径,也就是项目总文件夹的路径,如果在第一层,就直接写自定义的桥接文件的名file.h,如果在下一层,文件夹/桥接文件 app/file.h
===========总结和注意