Swiftでは、構造体またはクラスのイニシャライザ・インスタンスメソッド等の呼び出し時に、外部引数名(External Parameter Names)を書く必要があります。
構造体CGPoint型のイニシャライザ呼び出し例
var test = CGPoint(x: 0, y: 0)
Objective-Cを引きずっているかのような冗長なこの書き方ですが、ちょこっと工夫すれば、短く書く事が出来そうです。
test.swift
import CoreGraphics
extension CGPoint {
init(_ x: CGFloat, _ y: CGFloat) {
self.x = x
self.y = y
}
}
var test1 = CGPoint(x: 0, y: 0) // 標準のイニシャライザ
var test2 = CGPoint(0, 0) // 拡張したイニシャライザ
通常外部引数名を書く場所にアンダースコア(_)を記述しておくことで、無名にすることができるようです。
賛否両論はありそうな気がしますが、CGPoint
やCGSize
ぐらいはこうした書き方でも許されるんじゃないかなと思います。
※コンビニエンスの方が良かったかな?