其實(shí)就一點(diǎn),檢查你的代碼栓票。
我的問(wèn)題是,在View
的參數(shù)中愕够,寫(xiě)了稍微有點(diǎn)復(fù)雜的計(jì)算式子走贪,導(dǎo)致忽略了其中類型不匹配的問(wèn)題,然后SourceKitService
就會(huì)拼命c(diǎn)heck你的式子惑芭,導(dǎo)致內(nèi)存爆炸坠狡。
原來(lái)
.frame(width: ...,
height: (metrics.size.height - indicatorHeight) / maxDataValue) * data[i] - 15)
主要就是這個(gè)height
參數(shù)里,我傳了不同類型的參數(shù)進(jìn)去遂跟。
metrics.size.height
是CGFloat
類型逃沿、data[i]
是Double
類型,Xcode還檢查不出來(lái)幻锁,然后Xcode就崩了凯亮。
為了讓Xcode能夠更加容易的檢查出錯(cuò)誤,把這個(gè)計(jì)算公式提取出來(lái)到單獨(dú)的方法中即可
private func getHeight(overallHeight: CGFloat, value: Double, offset: Double = 50) -> CGFloat {
return CGFloat(Double(overallHeight) / maxDataValue * value - offset)
}
寫(xiě)的不是很詳細(xì)哄尔,道理就是這么一個(gè)道理假消,檢查代碼!