Swift使用Typealias命名元组类型
示例
有时,您可能希望在整个代码中的多个位置使用相同的元组类型。这会很快变得混乱,尤其是当您的元组很复杂时:
//通过圆心和半径定义圆元组
let unitCircle: (center: (x: CGFloat, y: CGFloat), radius: CGFloat) = ((0.0, 0.0), 1.0)
func doubleRadius(ofCircle circle: (center: (x: CGFloat, y: CGFloat), radius: CGFloat)) -> (center: (x: CGFloat, y: CGFloat), radius: CGFloat) {
return (circle.center,circle.radius* 2.0)
}如果在多个地方使用某种元组类型,则可以使用typealias关键字来命名元组类型。
//通过圆心和半径定义圆元组
typealias Circle = (center: (x: CGFloat, y: CGFloat), radius: CGFloat)
let unitCircle: Circle = ((0.0, 0.0), 1)
func doubleRadius(ofCircle circle: Circle) -> Circle {
//别名元组还可以访问原始元组类型的值标签。
return (circle.center,circle.radius* 2.0)
}但是,如果您发现自己经常这样做,则应考虑改用astruct。