在我的应用程序中,我有一组数组,并附加了来自API的数据。方法如下:
let noOfCountries = APIData.data.count
while self.countries < noOfCountries{
self.idArray.append(APIData.data[self.countries].id!)
self.countryIntroArray.append(APIData.data[self.countries].countryIntroTab!)
self.countryNameArray.append(APIData.data[self.countries].countryName!)
self.flagArray.append(APIData.data[self.countries].countryFlag!)
self.countryEventsArray.append(APIData.data[self.countries].countryEventsTab!)// App crashes here with this error: Unexpectedly found nil while unwrapping an Optional value
self.countries += 1
}
由于某种原因,该应用程序在self.countryEventsArray.append
时崩溃了。数组声明如下:
var idArray = [Int]()
var countryIntroArray = [String]()
var countryNameArray = [String]()
var flagArray = [String]()
var countryEventsArray = [String]()
结构设置如下:
let id: Int?
let countryName: String?
let countryFlag: String?
let countryIntroTab: String?
let countryEventsTab: String?
我做错了什么?如果我从self.countryEventsArray
中删除了感叹号,则该应用程序将完全无法运行。
答案 0 :(得分:0)
在没有任何数据存在的情况下,您不应该将api数据附加到数组中 使用相同的代码进行检查
if let myData = APIData.data[self.countries].countryEventsTab {
self.countryEventsArray.append(myData)
}