使用typealias时,我得到编译器错误“使用未声明的类型”

时间:2016-01-12 06:03:29

标签: swift type-alias

我是Swift的新手,正在尝试学习Type Aliases的概念。我试着编译下面的代码:

var x = 23
typealias y = x // compiler output: use of undeclared type x
print(y)

然而,编译器告诉我“使用未声明的类型x”。

我很困惑为什么会这样。我认为Swift可以隐含地推断出变量类型。有什么我想念的吗?

1 个答案:

答案 0 :(得分:3)

您可以使用typealias来更轻松地声明更复杂的类型,例如:

typealias RGBA = (red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)

let redColor: RGBA = (1.0, 0.0, 0.0, 1.0)

redColor.red    // 1
redColor.green  // 0
redColor.blue   // 0
redColor.alpha  // 1

typealias CMYK =  (cyan: CGFloat, magenta: CGFloat, yellow: CGFloat, black: CGFloat)

let cyanColor: CMYK = (1.0, 0.0, 0.0, 0.0)

cyanColor.cyan     // 1
cyanColor.magenta  // 0
cyanColor.yellow   // 0
cyanColor.black    // 0