我有一些经过良好测试的代码,以前从未崩溃过.自从升级到Xcode 15,我突然在一些客户设备上崩溃了index out of range
次.它从来没有发生在我本地,我只有从试飞崩溃转储.我不知道这是从哪里来的,特别是因为我正在判断边界.text.count > index
判断应该确保索引在范围内,或者我遗漏了什么?我的同事说是编译器的问题.你知道吗?
这是一个更大的功能的一部分,但相关部分是:
if let firstEnum = stateActions.first(where: { $0.type == .enumVar }){
if let arg = firstEnum.arg,
arg.count > 2,
variableDataDict.keys.contains(firstEnum.endpoint),
let varData = variableDataDict[firstEnum.endpoint],
let index = varData.value as? Int, //varData.value is Any?
let texts = varData.texts, //varData.texts is [String]?
texts.count > index
{
let text = texts[index] // <- This is where the crash is reported
buttonText += "\n" + text
}
}