如何在类外设置结构值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在类外设置结构值?相关的知识,希望对你有一定的参考价值。
我在我的单例类中有一个结构,我试图在不同的类中设置值。我尝试设置它就像我在单例类中设置任何其他变量但我得到一个错误“静态成员'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”
以上是关于如何在类外设置结构值?的主要内容,如果未能解决你的问题,请参考以下文章