枚举常被用于为特定类或结构体实现某些功能。类似地,枚举可以方便的定义工具类或结构体,从而为某个复杂的类型所使用。为了实现这种功能,Swift 允许你定义嵌套类型,可以在支持的类型中定义嵌套的枚举、类和结构体。
要在一个类型中嵌套另一个类型,将嵌套类型的定义写在其外部类型的 {}
内,而且可以根据需要定义多级嵌套。
一、嵌套类型实践
- 下面的代码中, 在结构体中, 嵌套定义了枚举, 结构体, 基类, 子类
struct Body {
enum season {
case Spring, Summer, Autumn, Winter
}
struct Point {
var x: Double = 0
var y: Double = 0
}
class SomeClass {
var age = 20
}
class SubSomeClass: SomeClass {
var name = "zhangsan"
}
}
二、引用嵌套类型
- 在外部引用嵌套类型时,在嵌套类型的类型名前加上其外部类型的类型名作为前缀:
let some = Body.SomeClass()
print(some.age) // 打印: 20