如何在课堂外设置结构值



我的单例类中有一个结构,我正在尝试在其他类中设置值。我尝试设置它就像我在Singleton类中设置其他任何变量一样,但是我会收到一个错误" static成员'BigStruct',无法在类型的" SharingManager"类型上使用。/strong>

我尝试了 -

let sm = SharingManager.sharedInstance  
sm.bigStruct //Autocomplete doesn't work and i get an error  

然后,当我在Singleton类中添加行15 时,我无法设置它,因为我获得了错误"无法分配给属性:函数调用无数值"/em> (根据我所承认的,它可以制作结构的副本,因此可以查看但不能设置)

sm.bigStruct.smallStruct.init().name = "my name"  

Singleton类 -

class SharingManager {  
  struct bigStruct {              
    struct smallStruct {  
      var name = String()       
    }      
  }   
  static let sharedInstance = SharingManager()  
  var big = bigStruct.self    
}

我的Singleton课程适合普通变量,但我找不到如何在单顿类中设置结构。

这将有效:

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()。名称="我的名字"

最新更新