如何从Swift的另一个类访问枚举?

前端之家收集整理的这篇文章主要介绍了如何从Swift的另一个类访问枚举?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
说我有以下例子:
class ClassOne {
    enum Color {
        case Red
        case Blue
    }

    func giveColor() -> Color {
        return .Red
    }
}

class ClassTwo {
    let classOne = ClassOne()
    var color: Color = classOne.giveColor()
}

编译器抱怨说它不知道ClassTwo中的Color是什么.我该怎么处理这个?

您的颜色枚举是一种嵌套类型 – 您可以将其作为ClassOne.Color进行访问.此外,您不能在声明中从另一个分配一个属性.留下它未分配,并在init()中执行:
class ClassOne {
    enum Color {
        case Red
        case Blue
    }

    func giveColor() -> Color {
        return .Red
    }
}

class ClassTwo {
    let classOne = ClassOne()
    var color: ClassOne.Color

    init() {
        self.color = self.classOne.giveColor()
    }
}

猜你在找的Swift相关文章