0000_0000_0000_0101_pnchart-swift出现crash解决

0000_0000_0000_0101 PNChart-swift出现crash解决

Optional Swift 博客正式开张,团队成员:PMST、星夜暮晨、Jim、ICE。地址:optionalswift.cn。国外访问比较慢,你懂的。

这几天一直忙于项目的事情,由于要使用绘制折线图功能实现流量随时间的一个走势,因此我最后选用了PNChart-swfit。有两种方式可以使用:

  • Pod 安装。

  • 下载swift文件,直接导入引用即可。

我选择了后者,操作简便,此外由于是swift写的,使用起来灰常顺手。

至于框架代码方面,可能是因为刚写的,所以还有很多BUG,我就遇到一个ORZ….

bug说明

这和y轴的值有关,假如你的y轴的值是[10,32,12,17],那么最大值Max=32,Min=10,也就是Y轴上坐标从10开始到32结束,这个很好理解,因为你的数据区间就是在[Min,Max]之间,那么坐标值范围也应该是这个。

现在讨论这个情况。y轴值是[10,10,10,10],那么最大值Max=10,Min=10,两者相等,似乎没有什么事情,按照我们的想法是y轴就一个点喽,难道这是bug?显然我说的不是这个。而是在框架中会有一步除法。
public func strokeChart()函数中找到如下代码。

innerGrade = (yValue! - yValueMin) / (yValueMax - yValueMin)//除数≠0才可以 假如=0 就是NAN了无效 程序崩掉
解决方法

现在找到属性public var chartData:NSArray = []yValueMin = yMin;
yValueMax = yMax;
这一行 在之后添加判断代码:

if yValueMax == yValueMin
{
   yValueMax += 1  //加上1 当然也可以自己修改喽
}
最后

打算自己在这个框架基础上写个绘图框架,目前有这打算

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值