gpt4 book ai didi

swift - 是否有任何简写方式来编写 CGPoint、CGRect 等?

转载 作者:可可西里 更新时间:2023-10-31 23:56:55 26 4
gpt4 key购买 nike

在 Swift 3.0 中,我们现在像这样声明 CGPoints:

CGPoint(x: 1.0, y: 0.0)

这,呃……有点冗长。当您编写一个将 CGPoint 作为参数的函数时,事情很快就会变得很糟糕:

myObject.callMyFunc(someVar: 1, point1: CGPoint(x: 1.0, y: 0.0), point2: CGPoint(x: 1.0, y: 2.0))

CGPoint 和 CGRect 等结构体有简写形式吗?

最佳答案

正如评论中已经建议的那样,您可以创建自己的扩展。

扩展

您可以添加一个接受 2 个 CGFloat(s) 并且不需要外部参数名称的初始化器

extension CGPoint {
init(_ x: CGFloat, _ y: CGFloat) {
self.x = x
self.y = y
}
}

let point = CGPoint(1, 2)

中缀运算符

您还可以定义中缀运算符

infix operator ° {}
func °(x: CGFloat, y: CGFloat) -> CGPoint {
return CGPoint(x: x, y: y)
}

let point = 1.1 ° 1.1

关于swift - 是否有任何简写方式来编写 CGPoint、CGRect 等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38629575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com