swift - 从一个类到另一个类访问结构

标签 swift swift-structs

是否可以从另一个类访问结构?

例如:

class A{
    struct structOfClassA {
        func returnLetterA () -> String{
            return "a"
        }
    }
}

class B{
    let classA = A()

    init(){
        classA.structOfClassA.returnLetterA // this is what I want to achieve
    }
}

如何在 B() 类中访问 A() 类的结构?

有解决办法吗?

谢谢!

最佳答案

A 中的结构定义了一个类型(可以在类 A 的范围内使用),但是你需要一个 <它的 em>实例 能够调用该结构的成员函数。例如:

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 的子类,这样您就可以访问 type StructOfClassA 来自父类(super class),在这种情况下,您可以创建 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"

关于swift - 从一个类到另一个类访问结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34932917/

相关文章:

ios - 如何限制 Google Places Autocomplete 不包含地址?

ios - 关闭旋转?

ios - 更改结构的值无效

json - 我在 Swift 4 中使用 JSON Codable 返回 NIL - 尝试从嵌套 JSON 示例返回值

swift - swift 实际上对结构做了什么复制省略?

Swift 在结构中内存/缓存惰性变量

ios - 让 UIImageView 充当 Facebook 登录按钮

ios - 带有 SwiftLoading 的 NSTimer

swift - 我如何在另一个类中使用此扩展委托(delegate)更新我的 ViewController UI