gpt4 book ai didi

ios - Swift 无法通过下标赋值 : 'peerDeviceSettings' is a get-only property"

转载 作者:行者123 更新时间:2023-11-28 10:03:32 25 4
gpt4 key购买 nike

我在类里面有这样的声明:

var peerDevice: [String: Any]? 

private var peerDeviceSettings:[String:Any]? {
get {
if let settings = peerDevice?["settings"] as? [String:Any] {
return settings
}

return nil
}
}

现在的问题是,如果我想更改 peerDeviceSettings,例如:

 fileprivate func set(_ value: Any?, forKey key: Key) {
if peerDeviceSettings != nil {
peerDeviceSettings?[key.rawValue] = value
}
}

我得到一个错误

 Cannot assign through subscript: 'peerDeviceSettings' is a get-only property

关键是我如何在不创建新的可变变量 peerDeviceSettings 的情况下重新构建这个东西?

最佳答案

只需将 set (setter) 添加到属性中并在那里进行处理。

private var peerDeviceSettings:[String:Any]? {
get {
if let settings = peerDevice?["settings"] as? [String:Any] {
return settings
}

return nil
}
set {

}
}

关于ios - Swift 无法通过下标赋值 : 'peerDeviceSettings' is a get-only property",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57198443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com