说我有以下例子:
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() } }