【问题标题】:Trouble Initializing Class初始化类的麻烦
【发布时间】:2020-12-13 18:14:47
【问题描述】:

如果我省略了类初始化器,我会得到一个错误;如果我添加所有五个初始化程序,我仍然会收到一个错误,说我没有初始化所有存储的属性。所有初始化程序都显示在初始化之前使用的错误'Variable'self.baseCur'。

struct BaseModel: Codable {
    var baseS: String
    var baseI: Int
    var baseSym: String
    var baseCunN: String
    var baseCurN: String
}

class TotalFormats: ObservableObject {
    
    @Published var baseCur: BaseModel
       
    init() {
        self.baseCur.baseS = "USD"
        self.baseCur.baseI = 0
        self.baseCur.baseSym = "$"
        self.baseCur.baseCunN = "United States"
        self.baseCur.baseCurN = "Dollar"
    }
}

【问题讨论】:

    标签: swiftui ios14


    【解决方案1】:

    它还没有创建,只是声明了,这就是错误的原因。你需要通过构造函数来创建它

    class TotalFormats: ObservableObject {
        
        @Published var baseCur: BaseModel
           
        init() {
            self.baseCur = BaseModel(baseS: "USD", baseI: 0, baseSym: "$", 
               baseCunN: "United States", baseCurN: "Dollar")
        }
    }
    

    class TotalFormats: ObservableObject {
        
        @Published var baseCur = BaseModel(baseS: "USD", 
           baseI: 0, baseSym: "$", baseCunN: "United States", baseCurN: "Dollar")
           
    }
    

    【讨论】:

    • 谢谢 Asperi,你能指出我在哪里讨论了构造函数吗?即使在 swift.org 上我也找不到任何关于该主题的内容
    猜你喜欢
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多