1、新建一个object-c 工程,创建一个Person.swift类


2、点击Don't Create,忽略创建桥接头文件。因为oc调用swift,swift只有.m实现文件,不需要导入头文件。此时oc和swift的混编,oc是通过访问一个特殊的宏来访问swift的。
3、创建一个工程后,默认swift的访问是通过一个如下的头文件

这个头文件的名字默认是工程名+ "-" 如图就是test-swift.h
文件名字是可以自己修改的,如下swift.h

4、导入swift的模块宏文件

5、编写swift暴漏给objects

//只有继承NSObject的类才能被oc访问,不继承NSObject的纯swift类不能被 oc所访问。只有被@objec修饰的方法对于oc才是可见的,才能被访问。
6、oc调用swift

网友评论