XCode14 报错:
Unavailable instance method ‘replaceSubrange(_:with:)’ was used to satisfy a requirement of protocol ‘RangeReplaceableCollection’
Type ‘ChartDataSet’ does not conform to protocol ‘RangeReplaceableCollection’
解决方案:
// MARK: RangeReplaceableCollection
extension ChartDataSet: RangeReplaceableCollection 方法里补充
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) )
}