標籤: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解決