如何在类外设置结构值?

问题描述 投票:1回答:1

我在我的单例类中有一个结构,我试图在不同的类中设置值。我尝试设置它就像我在单例类中设置任何其他变量但我得到一个错误“静态成员'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    
}

我的单例类适用于普通变量,但我找不到如何在单例类中设置结构。

swift xcode data-structures struct singleton
1个回答
0
投票

这将有效:

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”

© www.soinside.com 2019 - 2024. All rights reserved.