0000_0000_0000_0101_pnchart-swift出現crash解決

來源:互聯網
上載者:User

標籤:pnchart   optional   pod   

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 當然也可以自己修改嘍}
最後

打算自己在這個架構基礎上寫個繪圖架構,目前有這打算

0000_0000_0000_0101_pnchart-swift出現crash解決

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.