Ios AppDelegate不';t访问更新的结构变量-Swift

Ios AppDelegate不';t访问更新的结构变量-Swift,ios,arrays,swift,struct,appdelegate,Ios,Arrays,Swift,Struct,Appdelegate,我有一个结构,看起来像这样 struct myStruct { var array1: [String] var additionalInfo: String? var array2: [String] } var appendMe = [myStruct(array1: ["Value1"], additionalInfo: nil, array2: ["Value1","Value2"])] appendMe[array1.count-1].array2[0]

我有一个结构,看起来像这样

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

var appendMe = [myStruct(array1: ["Value1"], additionalInfo: nil, array2: ["Value1","Value2"])]
appendMe[array1.count-1].array2[0]
MainViewController中,我用附加值附加它,但当我尝试从AppDelegate访问它们时,例如

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

var appendMe = [myStruct(array1: ["Value1"], additionalInfo: nil, array2: ["Value1","Value2"])]
appendMe[array1.count-1].array2[0]
我总是在更新之前获取结构中设置的原始值。就像Xcode为MainViewControllerAppDelegate创建一个单独的结构实例一样

如何解决此问题


谢谢大家!

结构是通过Swift中的值传递的,而不是通过引用传递的。您的主视图控制器正在修改结构的副本,而不是您认为的副本。

那么如何访问它的副本?不要访问副本或尝试通过引用传递。将结构包装到一个对象中,您就不会有问题了。@HermannKlecker尝试将它包装到一个具有NSObject属性的类中,但没有效果。我应该如何将它封装在一个对象中?只需创建一个新类,而不是一个NSObject继承,一个普通的swift对象就可以了。它唯一的属性是MyStruct类型。基本上就是这样。