OC使用Charts--注意事项

系统iOS8.0以上,工具Xcode 8.0 ;

由于Charts是Swift代码,导入OC项目需要相应的配置。

手动添加:

一、配置

1.手动导入下载好的Charts库

OC使用Charts--注意事项_第1张图片
导入库文件

在Command + B,一个警告,“使用Swift语言遗留版本”

OC使用Charts--注意事项_第2张图片
使用遗留Swift语言版本

由图下找到,并进行配置

OC使用Charts--注意事项_第3张图片
设置Swift遗留版本

由第四步,Unspecified末定义,点击修改为NO(即:不使用Swift之前版本,现在为Swift3.0),再编译一下,错误更多了

OC使用Charts--注意事项_第4张图片
为NO

点击警告查看,大部分错误是CGFloat类型,这里应该可以想到是不是跟UIKit这个库有关呢?随便点开一个CGFloat的错误信息查看

OC使用Charts--注意事项_第5张图片
CGFloat

确实头文件只导了一个Foundation库,UIKit库这个没导,那就尝试往里导入UIKit库

OC使用Charts--注意事项_第6张图片
锁住

出现了警告,提示该文件锁住了,不允许被编辑!毕竟是Charts库里的文件,也不能随便乱改,那需要怎么做呢?让它在编译到文件前,就识别(导入UIKit库)CGFloat。所以此时会想起桥接文件,假如这个猜想成立。如果就开始创建桥接文件。在工程下Command + N(创建新文件)弹出header图,选择Header File

OC使用Charts--注意事项_第7张图片
header

创建桥接文件、命名(自己想叫什么就叫什么符合苹果大佬的命名规则就行,也可以用大佬的默认格式)并存放位置(默认就行,反正在工程里就行)

OC使用Charts--注意事项_第8张图片
桥接文件创建

关联桥接文件

OC使用Charts--注意事项_第9张图片
关联桥接文件

第五步:个人书写习惯 “${SRCROOT}/...” “...”代表你创建桥接文件的路径,当前桥接文件在工程目录下,所以“...”就是桥接文件名。

桥接文件关联完成后,就是验证猜想的时候了,编译中...

OC使用Charts--注意事项_第10张图片
导入需要的库

红色警报没有了,不过还有一个黄色警告,点开信息一开

OC使用Charts--注意事项_第11张图片
黄色警告

是关于Charts库里有个.md文件果介意它的存在,就把那个.md文件删除了

OC使用Charts--注意事项_第12张图片
删除README.md文件
OC使用Charts--注意事项_第13张图片
删除后

文件删除后,黄色警告也没了。所以咱们的猜想是正确的!(到这里了都给自己一个剪刀手)

二、使用

1.导入文件(Product Module Name-Swift.h)。在需要的地方导入该文件,如图中的1操作

OC使用Charts--注意事项_第14张图片
导入图

默认情况下Product Module Name是工程名,想改成自己用的,可以在Build Setting修改Product Module Name的值:如下图

OC使用Charts--注意事项_第15张图片
修改Product Module Name

处此就不做事例了。

导入后,编译会出现黄色警告,如“导入图”中2显示108个(此处我是加入了其它操作才显示76,下面会说明)。在“导入图”中3鼠标点击左键,显示的警告都是在Product Module Name-Swift.h文件里,点击进入该文件中查看,如下图

OC使用Charts--注意事项_第16张图片
警告问题

由于该文件是由系统生成的,大致看了下,问题都出现在注释里面,\param 文字颜色是黑色,个人觉得跟“\”反斜杠有关。所以就用替换 Command + Options + F,把“\param” 替换成“param”,编译,警告全没了。不过先别高兴太早,把项目重启后,这个警告问题还是出现(毕竟是系统生成的)。所以现在对该问题还是没解的,如有清楚如何解决这问题的,望不吝告知,在此先谢了(微笑)。好扯的有点远了。

导入文件后,如下图箭头,可以在当前文件使用Charts库里的类了。

OC使用Charts--注意事项_第17张图片
使用

这样就可以使用Charts的类了。

不过这边需要注意的。Product Module Name-Swift.h该文件应导在.m文件中,如想提供Charts库里的类当做当前类的一个公共属性里,请用@class 类名,告知编译器在当前.h有某类存在,否则编译不能通过。主要是防止循环依赖关系,具体此处不详细说明。

Cocoapods添加

感觉比手动添加简单多了,只需要要导入Charts.Swift。 就可以使用Charts里面的类。

一:配置及使用

其实也不需要配置,只要导入@import Charts.Swift就可以使用了,如果没写上Swift也可以使用。但会出现警告

在模拟器7Plus如下图情况:

OC使用Charts--注意事项_第18张图片
导入Charts 有警告
OC使用Charts--注意事项_第19张图片
导入是Charts  在Build Settings设置Defines Module为YES 没警告
OC使用Charts--注意事项_第20张图片
模拟器7Plus 导入Charts.Swift没警告

在真机上iOS9

OC使用Charts--注意事项_第21张图片
导入Charts 有警告
OC使用Charts--注意事项_第22张图片
导入Charts 修改Defines Module 为YES 无警告

但把Defines Module 恢复为NO时,导入还是Charts,编译 运行后,警告也没有了。

执行Clean   快捷键Command + Shift + K后。导入Charts.Swift没警告

OC使用Charts--注意事项_第23张图片
导入Charts.Swift

你可能感兴趣的:(OC使用Charts--注意事项)