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。