美文网首页iOS疑难杂症解决
OC使用Charts--注意事项

OC使用Charts--注意事项

作者: 寸光片静 | 来源:发表于2017-05-02 15:46 被阅读221次

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

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

    手动添加:

    一、配置

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

    导入库文件

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

    使用遗留Swift语言版本

    由图下找到,并进行配置

    设置Swift遗留版本

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

    为NO

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

    CGFloat

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

    锁住

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

    header

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

    桥接文件创建

    关联桥接文件

    关联桥接文件

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

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

    导入需要的库

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

    黄色警告

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

    删除README.md文件
    删除后

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

    二、使用

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

    导入图

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

    修改Product Module Name

    处此就不做事例了。

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

    警告问题

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

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

    使用

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

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

    Cocoapods添加

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

    一:配置及使用

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

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

    导入Charts 有警告
    导入是Charts  在Build Settings设置Defines Module为YES 没警告
    模拟器7Plus 导入Charts.Swift没警告

    在真机上iOS9

    导入Charts 有警告
    导入Charts 修改Defines Module 为YES 无警告

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

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

    导入Charts.Swift

    相关文章

      网友评论

        本文标题:OC使用Charts--注意事项

        本文链接:https://www.haomeiwen.com/subject/iibctxtx.html