class 中的结构A
定义了一个类型(可以在 class 范围内使用A
),但是您需要它的一个实例才能调用该结构的成员函数。例如:
class A {
struct StructOfClassA {
func returnLetterA() -> String{
return "a"
}
}
var structOfClassA = StructOfClassA()
/* Instance of 'StructOfClassA' structure type */
}
class B {
let classA = A()
init() {
let myLetter = classA.structOfClassA.returnLetterA()
print(myLetter)
}
}
var myB = B() // prints "a"
或者,您可以让B
成为 的子类A
,这使您可以从超类访问类型 StructOfClassA
,在这种情况下,您可以创建 的实例并StructOfClassA
访问其方法returnLetterA()
:
class A {
class StructOfClassA {
func returnLetterA() -> String{
return "a"
}
}
}
class B : A {
let classA = A()
override init() {
let myLetter = StructOfClassA().returnLetterA()
print(myLetter)
}
}
var myB = B() // prints "a"