我有以下Swift结构:
pick
这就是我使用它的方式:
struct MainStruct : Decodable{
var array : [InternalArray]?
}
struct InternalArray : Decodable{
var firstName : String?
var lastName : String?
var Number : Int?
}
当我设置数组元素[0]时似乎工作正常,但是当我尝试设置元素[1]时,我得到一个错误。也许有人知道我的实施有什么问题?
答案 0 :(得分:2)
问题是你只有1个项目(索引0)。
让我们解压一下,首先我们在MainStruct
变量中打开您的选项testing
,然后打开可选的array
:
if let unwrappedTestingMainStruct = testing,
let unwrappedArray = unwrappedTestingMainStruct.array {
unwrappedArray.count // = 1
}
然后,您尝试访问testing?.array![1]
,这将是数组中的第二项......它不存在。
如果你刚才有这条线:
testing?.array![1]
你会看到同样的错误