需要一些有关结构和特殊属性包装器的知识

问题描述 投票:0回答:1
struct XA {

static var xa = "Advanced"

var xb: String {
    didSet {
        XA.xa = oldValue
    }
}}

var objXA = XA(xb: "Turing")
print(XA.xa) // Advanced
objXA.xb = "Swift"
print(XA.xa) // Turing

let objXB = XA(xb: "Quiz")
print(XA.xa) // Turing

我需要了解这些输出是如何深入的。最后一行为什么它打印 Turing 而不是 Swift。

ios swift properties didset
1个回答
0
投票

我认为原因是,非静态值无法访问同一类或结构中的静态值

© www.soinside.com 2019 - 2024. All rights reserved.