线程8:信号SIGABRT

时间:2018-09-18 12:52:37

标签: ios json swift xcode sigabrt

我正在尝试在Swift中解析我的api响应。 但是,我收到以下错误消息

  

线程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)
        }
    })

在响应中,值在“故事”键下具有多个词典。

{
    "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

0 个答案:

没有答案