我的单例类中有一个结构,我正在尝试在不同的类中设置值。我尝试像在单例类中设置任何其他变量一样设置它,但出现错误 “静态成员‘bigStruct’,不能用于类型为‘SharingManager’的实例”强>
我试过了-
let sm = SharingManager.sharedInstance
sm.bigStruct //Autocomplete doesn't work and i get an error
然后当我在单例类中添加第 15 行 时,我无法设置它,因为我收到错误“无法分配给属性:函数调用不可变值”(根据我的理解,这意味着它制作了结构的副本,因此可以查看但不能设置)
sm.bigStruct.smallStruct.init().name = "my name"
单例类 -
class SharingManager {
struct bigStruct {
struct smallStruct {
var name = String()
}
}
static let sharedInstance = SharingManager()
var big = bigStruct.self
}
我的单例类适用于普通变量,但我找不到如何在单例类中设置结构。
最佳答案
这会起作用:
var big = SharingManager.bigStruct()
var small = SharingManager.bigStruct.smallStruct()
small.name = "I am a smallStruct"
以下无法工作,因为 bigStruct
/smallStruct
不是实例属性或函数:
SharingManager.sharedInstance.bigStruct
SharingManager.sharedInstance.bigStruct.smallStruct.init().name = "my name"
关于swift - 如何在类外设置结构值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47932334/