【问题标题】:Access a struct variable inside a class访问类中的结构变量
【发布时间】:2015-11-02 20:23:21
【问题描述】:

我有一个结构变量,它被包装到 NSObject 类中。

这是它的外观:

class myClass: NSObject{

struct myStruct {
    var array1: [String]
    var additionalInfo: String?
    var array2: [String]
}

var myVar = [myStruct(array: ["value1"], additionalInfo:nil, array2: ["value1","value2"])]
}

我的目标是在 myVar 变量中附加来自不同类的值并访问它们。

我正在尝试使用此代码进行附加:

var classAccess = myClass()
classAccess.myVar.append(array1:["value 3"], additionalInfo:nil, answers:["value 3"])

但是,当我尝试编译时,我遇到了各种令人讨厌的错误。

如何正确访问它?

【问题讨论】:

  • 为什么类里面有结构体?
  • @PeterFoti 我想直接从 MainController 和 AppDelegate 访问它,而不是为每个实例创建一个新实例。

标签: swift class struct


【解决方案1】:

你可以这样做,但是你必须使用MyStruct初始化器并且你必须使用MyClass.MyStruct从类外部引用结构体

class MyClass: NSObject{

  struct MyStruct {
    var array1: [String]
    var additionalInfo: String?
    var array2: [String]
  }

  var myVar = [MyStruct(array1: ["value1"], additionalInfo:nil, array2: ["value1","value2"])]
}


var classAccess = MyClass()
classAccess.myVar.append(MyClass.MyStruct(array1:["value 3"], additionalInfo:nil, array2:["value 3"]))

注意:为了更好的可读性,我将结构和类名大写

【讨论】:

    猜你喜欢
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 2021-12-18
    • 2018-09-01
    • 2019-06-24
    • 1970-01-01
    相关资源
    最近更新 更多