每年升级Xcode都纠结要不要升级,升级后项目就会莫名报错,今年也不出意外报错了
Charts项目报错
其实报错后第一时间去github官方查看,发现很多类似的问题,给出的解决方案是升级到4.1.0,但是pod install查不到最新库一直报错
然后尝试下载最新代码手动引入该库,运行后import algorithms
库报错,尝试引入失败后放弃了
解决办法:
实现replaceSubrange协议方法
public func replaceSubrange<C>(_ subrange: Swift.Range<Int>, with newElements: C) where C :
Collection, ChartDataEntry == C.Element {
}
实现协议后还是报错
听说是swift5不支持多级嵌套问题,于是我把swift库调整为4.2还是报错,后来通过源码对比替换一下代码搞定
internal static let EaseOutBack = { (elapsed: TimeInterval, duration: TimeInterval) -> Double in
let s: TimeInterval = 1.70158
var position: TimeInterval = elapsed / duration
position -= 1.0
return Double( position * position * ((s + Double(1.0)) * position + s) + Double(1.0) )
}
总结
解决这个问题浪费了半天时间,于是想着把解决问题的方法写出来,希望能帮到有缘人
^-^
另外升级Xcode后跑个项目,电脑发热很严重