我想将 2 个 CGPoints 加在一起,然后我意识到没有为此定义函数,所以我把它写下来,我希望专业人士看看这个代码是否有任何错误或改进,但后来我脑子里出现了一个大问题,是吗?这么多的工作、编码和定制苹果都没有完成吗?我错过了什么吗?每个在 Swift 中使用 CGPoint 的人在某些时候都需要对其进行数学计算,那么为什么我们一开始就没有它呢?也感谢您查看代码并更正。
extension CGPoint {
static func + (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
return CGPoint(x: lhs.x + rhs.x, y: lhs.y + rhs.y)
}
}
Run Code Online (Sandbox Code Playgroud)
向LeoDabus大声喊叫:更新:+=
extension CGPoint {
static func += (lhs: inout CGPoint, rhs: CGPoint) {
lhs = lhs + rhs
}
}
Run Code Online (Sandbox Code Playgroud)
添加两个CGPoint 严格来说没有意义。这并不是完全错误的。它只是没有意义,因为点是坐标,而不是偏移量。“芝加哥+纽约”并不是一个新地点。
通常,您会使用 CGVector、CGSize/NSSize 或 UIOffset 来偏移 CGPoint。它们也没有+运算符,但将运算符添加到 CGPoint+CGVector 而不是两个 CGPoint 更有意义。
但如果特别方便的话,您可以按照自己的方式随意添加。
| 归档时间: |
|
| 查看次数: |
1214 次 |
| 最近记录: |