Ios Swift Struct无法将数组元素设置为0以上

Ios Swift Struct无法将数组元素设置为0以上,ios,swift,xcode,Ios,Swift,Xcode,我有以下Swift结构: struct MainStruct : Decodable{ var array : [InternalArray]? } struct InternalArray : Decodable{ var firstName : String? var lastName : String? var Number : Int? } 这就是我使用它的方式: var testing: MainStruct? = MainStruct() testing?

我有以下Swift结构:

struct MainStruct : Decodable{
var array : [InternalArray]?
}

struct InternalArray : Decodable{
    var firstName : String?
    var lastName : String?
    var Number : Int?
}
这就是我使用它的方式:

var testing: MainStruct? = MainStruct()
testing?.array = []
testing?.array!.append(InternalArray())
testing?.array![0].firstName = "TEST"

testing?.array![1].firstName = "TEST 1" - error: Execution was interrupted, reason: EXC_BAD_INSTRUCTION

当我设置数组元素[0]时,它似乎工作正常,但当我尝试设置元素[1]时,我得到一个错误。也许有人知道我的实现出了什么问题

问题是您只有1项(索引0)

让我们将其解包,首先在
测试
变量中解包您的选项
主结构
,然后解包可选的
数组

如果让unwrappedTestingMainStruct=测试,
让unwrappedArray=unwrappedTestingMainStruct.array{
unwrappedArray.count/=1
}
然后尝试访问
testing?.array![1] 
这将是数组中的第二项…它不存在

如果你刚刚听到这句话:

testing?.array![1]

您将看到相同的错误

问题是您只有1项(索引0)

让我们将其解包,首先在
测试
变量中解包您的选项
主结构
,然后解包可选的
数组

如果让unwrappedTestingMainStruct=测试,
让unwrappedArray=unwrappedTestingMainStruct.array{
unwrappedArray.count/=1
}
然后尝试访问
testing?.array![1] 
这将是数组中的第二项…它不存在

如果你刚刚听到这句话:

testing?.array![1]

您将看到相同的错误

您有一个元素,但您正试图访问第二个元素。您需要在“Test_1”之前附加另一个InternalArray您有一个元素,但您正试图访问第二个元素。您需要在“Test_1”之前附加另一个InternalArray