swift中有一些比较好的框架,比如绘图框架charts,最近项目中刚好用到,通过Pod的方式直接导入,xcode会自动生成charts-swift.h的文件,然后在需要导入的地方import <charts-swift.h>即可
但是,通过pod导入的第三方项目如果需要做自定义定制,就没办法修改里面的内容,这样很难受,所以只有不通过pod的方式导入,直接将source文件拖入到工程中,这就涉及到了oc中桥接swift项目的一些问题
使用网上的一些方法和设置并没能解决我的问题,然后会各种报错,通过各种尝试,总算是将oc中桥接swift的问题解决了,一下是解决的步骤
到github 下载charts官方demo,找到source,将整个source文件拖入到工程中,注意Supporting Files中的文件也一起拖入,将info.plist文件名字修改为chart_info.plist,为了防止和工程中的info.plist文件名冲突
- 将source文件拖拽到新的项目中,新建一个swift文件,继承NSObject,名字随意,这个时候,xcode会提醒是否创建一个xxx-Bridging-Header.h的swift桥接文件,选择创建
在xxx-Bridging-Header.h添加Supporting Files中的.h文件 这里是Charts.h
command + b编译,这个时候xcode会自动生成一个 ChartsDemo-Swift.h ChartsDemo为你的xcode项目名, 在需要使用到charts的地方,#import <ChartsDemo-Swift.h>即可使用swift中方法和类了
修改charts中源码,再command+b xcode又会生产一份新的ChartsDemo-Swift文件 大工告成
使用