我最近被介绍给swift。
一个问题,何时使用CGPoint以及何时使用CGPointMake?
我已经互换了这两个陈述,他们都返回了相同的结果
self.anchorPoint = CGPointMake(0.5, 0.5)
self.anchorPoint = CGPoint(0.5, 0.5)
由于
答案 0 :(得分:18)
Swift中的每个结构都会获得一个自动创建的成员初始化程序。因此,由于成员struct CGPoint
和x
存在y
,您可以这样做:
self.anchorPoint = CGPoint(x: 0.5, y: 0.5)
(请注意,您实际上无法执行CGPoint(0.5, 0.5)
- 这会产生编译错误,因为初始化程序需要所有参数的标签,除非另有声明。否则。)
在Swift 1.x-2.x中,CGPointMake
是从此API的C版本导入的函数。在Swift 3中,初始化形式是创建CGPoint
的唯一方法 - 这是使CoreGraphics变得更加快速的更改之一。
答案 1 :(得分:3)
当你cmd点击Xcode类型时,打开带有定义的文件。
CGPoint
是一个结构:
struct CGPoint {
var x: CGFloat
var y: CGFloat
}
和CGPointMake
只是一个创建CGPoint
并返回它的函数:
func CGPointMake(x: CGFloat, y: CGFloat) -> CGPoint