当我尝试在iOS模拟器上运行我的应用时,它会崩溃并且我收到此错误代码:Thread 1: EXC_BAD_INSTRUCTION (code=EXC_i386_INVOP, subcode=0x0)
出现错误的区域的代码是:
var appData = [Section: [AppDetail]]()
for (sectionName, apps) in appDataPList {
let appDetails: [AppDetail]
appDetails = apps.flatMap(AppDetail.init(plistData:))
let section = Section(rawValue: sectionName)!
appData[section] = appDetails
}
return appData
答案 0 :(得分:0)
从您提供的代码中,您很可能会收到此错误,因为您强行展开了一个可选的"!"在这里:let section = Section(rawValue: sectionName)!
。
而是试试这个:
if let section = Section(rawValue: sectionName) {
appData[section] = appDetails
} else {
print("error creating section")
}
您可以通过代码完成工作并弄清楚为什么您会获得零值。
您还应该阅读有关选项here的更多信息。