1.oc调用swift
在oc中使用swift代码,需要把swift代码作为module暴露给oc进行调用
配置如下:
对于需要混编的swift类添加@objc声明,或继承NSObject或者NSObject子类.
当我们需要调用swift类时,引入头文件#import “Product Module Name-Swift.h”,其中Product Module Name为上图配置中的名字(OC_call_Swift)
ps:Product Module Name-Swift.h是由编译器自动生成,如果导入后,无法使用该类,编译一下.并且只有在工程中包含至少一个Swift文件的时候,才会自动生成这个文件,所以如果工程中如果没有Swift文件的时候,就算在配置中设置对了,import该文件也会报错。
oc调用swift,也要把桥接文件也一同创建好,否则会报错
2.swift调用oc
新建一个桥接文件(一般在swift项目中新建oc类,会提示新建桥接文件,若未提示,直接新建就行).然后配置路径.在该桥接文件中导入oc类头文件,即可在swift中使用oc类.调用方法使用swift方式调用
(一般提示新建的桥接文件不需要配置路径,直接使用就好).配置路径时,使用$(PROJECT_NAME)相对工程名替换项目路径