美文网首页
SwiftUI - SourceKitService或swift

SwiftUI - SourceKitService或swift

作者: chocoford | 来源:发表于2021-09-07 16:34 被阅读0次

其实就一点,检查你的代码。

我的问题是,在View的参数中,写了稍微有点复杂的计算式子,导致忽略了其中类型不匹配的问题,然后SourceKitService就会拼命check你的式子,导致内存爆炸。

原来

.frame(width: ...,
       height: (metrics.size.height - indicatorHeight) / maxDataValue) * data[i] - 15)

主要就是这个height参数里,我传了不同类型的参数进去。

metrics.size.heightCGFloat类型、data[i]Double类型,Xcode还检查不出来,然后Xcode就崩了。

为了让Xcode能够更加容易的检查出错误,把这个计算公式提取出来到单独的方法中即可

private func getHeight(overallHeight: CGFloat, value: Double, offset: Double = 50) -> CGFloat {
    return CGFloat(Double(overallHeight) / maxDataValue * value - offset)
}

写的不是很详细,道理就是这么一个道理,检查代码!

相关文章

网友评论

      本文标题:SwiftUI - SourceKitService或swift

      本文链接:https://www.haomeiwen.com/subject/rolpwltx.html