【发布时间】:2022-01-28 05:19:51
【问题描述】:
我想要做的是,在一个数组中存储几个 CodigosAutorizacion 类型的对象之后:
for value in 0..<(array.count) {
let codeArray = CodigosAutorizacion(
code: validateData!["codigo"] as? String,
codeCancel: validateData!["cancela_codigo"] as? String,
codeSite: validateData!["cod_sitio"] as? String,
codeSiteCancel: validateData!["cancela_cod_sitio"] as? String,
instance: validateData!["instancia"] as? String
)
codes.append(codeArray)
}
像这样访问数组中的对象属性:
codeCell.codigoSitio.text = codes[indexPath.row].instance
这篇文章给我带来了下一个错误
-在调用下标时没有完全匹配
-如果没有上下文类型,则无法解析对成员“instancia”的引用
这是因为 'codes' 是一个数组,而不是 CodigosAutorizacion 类型
将这些对象存储在一个数组中很重要,因为我需要生成一个包含几个 CodigosAutorizacion 对象的表。有什么办法可以做到吗?
【问题讨论】:
-
喂。您不能在其范围之外调用对象。 en.wikipedia.org/wiki/Scope_(computer_science)。简而言之,每当您使用“ { } ”创建范围时,内部实例化的任何内容都无法在外部访问
-
换句话说,将
codes.append(codeArray)放入你的 for 循环中 -
我认为您可能只是在问题中将 } 放在了错误的位置,否则您会收到引用
codeArray的错误。codes是如何声明的?此外,您正在根据名为array的东西的大小进行迭代,但引用来自名为validateData的字典中的值。对于循环的每次迭代,该字典都是相同的 -
@Olympiloutre, @workingdog 是的,对不起,我的错误。
codes.append(codesArray)实际上在 for 循环内 -
@Paulw11
codes被声明为codes: Array<Any>。是的,我正在迭代array,因为array是一个包含json 类型对象的数组,所以validateData是一个字典,其中包含array值,以便for 循环将它们分配给CodigosAutorizacion结构值