1艘策、類型嵌套
//可以在允許類型嵌套的類型中嵌套枚舉、類皂贩、結(jié)構(gòu)體决采,并且支持多層嵌套
2自沧、值類型的嵌套
struct NestedStruct {
enum enumType1: Character { // 在結(jié)構(gòu)體中嵌套枚舉
case enumValue1 = "A", enumValue2 = "B", enumValue3 = "C"
}
enum enumType2: Int {
case two = 2, three, four
struct Values { // 枚舉中嵌套結(jié)構(gòu)體
enum num: Int { // 結(jié)構(gòu)體中再嵌套枚舉
case num1 = 1, num2, num3
}
}
}
}
// 枚舉和結(jié)構(gòu)體都是值類型,直接通過類型名稱調(diào)用
print(NestedStruct.enumType1.enumValue2.rawValue) // B
print(NestedStruct.enumType2.Values.num.num2.rawValue) // 2
2、引用類型的嵌套
class ClassType1 {
class ClassType2 {
func hello() -> String {
return "Hello"
}
}
enum enumType2: Int { // 引用類型中嵌套值類型
case two = 2, three, four
struct Values { // 枚舉中嵌套結(jié)構(gòu)體
enum num: Int { // 結(jié)構(gòu)體中再嵌套枚舉
case num1 = 1, num2, num3
}
}
}
}
let someClass = ClassType1.ClassType2() // 引用類型嵌套也是在類型名前面加外部類型的類型名
print(someClass.hello()) // Hello
print(ClassType1.enumType2.Values.num.num1.rawValue) // 1