gpt4 book ai didi

swift - 如何在类外设置结构值?

转载 作者:行者123 更新时间:2023-11-28 07:56:21 24 4
gpt4 key购买 nike

我的单例类中有一个结构,我正在尝试在不同的类中设置值。我尝试像在单例类中设置任何其他变量一样设置它,但出现错误 “静态成员‘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/

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