Swift2.0与OC混编实验--动态库(一)

孤街浪徒 提交于 2020-03-03 21:37:33

完整的Demo下载

做了以下几个实验


验证SwiftOC的项目可以使用任意语言开发的动态库

1、创建了一个Swift语言的动态库

2、创建了一个OC语言的动态库

3、创建了一个SwiftApp项目,在项目中同时使用SwiftOC的动态库

4、创建了一个OCApp项目,在项目中同时使用SwiftOC的动态库


验证同一项目中(OC/Swift)同时使用Swift类和OC

1、在Swift项目中创建OC的类并正确使用

2、在OC的项目中创建Swift的类并正确使用


验证同一动态库中(OC/Swift)同时使用Swift类和OC

1、在Swift动态库中同时使用Swift类和OC类,并在(OC/Swift)项目中正确调用

2、在OC动态库中同时使用Swift类和OC类,并在(OC/Swift)项目中正确调用


上述实验,在iOS7-iOS9设备上调试通过


下面开始分享实验的详细过程以及遇到的坑。

1、首先创建一个工作空间

2、创建一个Swift动态库

3、添加一个Swift测试文件。

      这里需要注意public关键字的使用。动态库中的文件想要对外可见,OC和Swift的做法有区别。OC中把类的.h文件拖到public区域,就可以了。Swift没有.h文件,通过public关键字来对外开放。特别要注意的是,所有想要开放的方法和属性都需要设置这个关键字。

      还需要注意的是,纯Swift类在OC类中无法直接使用。必须用关键字声明在OC中引用的别名才行。我这里让Swift类直接继承于NSObject类,避免了这个问题。


刚起个头又有事打扰了,未完待续。。。。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!