Swift 4错误,将数据追加到数组中

时间:2018-09-17 02:57:57

标签: swift xcode

在我的应用程序中,我有一组数组,并附加了来自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中删除了感叹号,则该应用程序将完全无法运行。

1 个答案:

答案 0 :(得分:0)

在没有任何数据存在的情况下,您不应该将api数据附加到数组中 使用相同的代码进行检查

if let myData = APIData.data[self.countries].countryEventsTab {
   self.countryEventsArray.append(myData)
}