Поток 8: сигнал SIGABRT - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь разобрать мой ответ API в Swift. Но я получаю следующую ошибку

Резьба 8: сигнал SIGABRT

Мой модальный класс JSON

struct storyDataClass : Codable {
    var storyDictionary :  storyDictionary?
}

struct storyDictionary: Codable {
    var nameString : String?
    var lineString : String?
    var image : String?
}

и вызов API -

    dataViewModelClass.getData(completionHandler: {data, error -> Void in
        if (data != nil) {

            print(data?.count)

            if let retriveData = data {

                for (index,value) in retriveData.enumerated() {
                    print(index)
                  //  print(value)

                    var dataJson = storyDataClass.init(storyDictionary: value as! storyDictionary)

                    print(dataJson.storyDictionary?.lineString)

                }
            }

        } else {
            print("api.getData failed")
            print(error as! NSError)
        }
    })

В ответе значение имеет несколько словарей под ключом Story.

{
    "name" = "name";
    line = "some name";
    "image" = "https://";
   }
{
    "name" = "name";
    line = "some name";
    "image" = "https://";
   }

И метод обратного вызова API

class DataViewViewModel {

    typealias DataCompletion = (String) -> Void

    func getData(completionHandler: ((Array<Any>?, Error?) -> Void)!) -> Void {

        let url = URL(string: mainDataURL)
        URLSession.shared.dataTask(with:url!) { (data, response, error) in
            if error != nil {
                print(error?.localizedDescription ?? "Error")
                return completionHandler(nil, error)
            } else {
                do {
                    let parsedData = try JSONSerialization.jsonObject(with: data!) as! [String:Any]
                    let itemsArray = parsedData["items"] as! Array<Any>
                    print(itemsArray)
                   return completionHandler(itemsArray, nil)
                } catch let error as NSError {
                    print(error)
                }
            }
            }.resume()

    }

}

Есть предложения?

enter image description here

...