来自https请求的奇怪的MLFeatureValue响应

时间:2018-03-28 18:47:29

标签: swift https compiler-errors swift4

我有问题/错误?我的https响应应该返回JSON,但是当我解码它时,我突然被告知它是'MLFeatureValue'类型的?

导入的库:

  • 粉底
  • AVKit
  • 的UIKit
  • AVFoundation
  • 视力

使用:

  • Swift 4
  • Xcode 9.2
  • 项目从反应原生'0.54.3'
  • 中退出

error message

var request = URLRequest(url: URL(string: "https://vision.googleapis.com/v1/images:annotate?key=fancyApiKey;)")!)

request.httpBody = jsonData
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
let task = self.urlSession.dataTask(with: request as URLRequest) { requestData, requestResponse, error in

  let parsedResult = try! JSONSerialization.jsonObject(with: requestData!, options: .allowFragments) as AnyObject
  print("data", parsedResult)

  guard let data = parsedResult["responses"] as? [String : AnyObject] else { return }
  

从'guard let data'一行我得到一个错误:“从'MLFeatureValue?'投'到不相关的类型'[String:AnyObject]总是失败。“

我不知道'MLFeatureValue'来自何处,因为我对文件甚至项目中导入的机器学习没有任何意义。

感谢。

1 个答案:

答案 0 :(得分:0)

好,您已经导入了Vision。 Vision使用了一些ML类和模型。请查看Apple的documentation
仍然不确定Xcode如何做到这一点。一种解决方法是,在解析时,您可以使用Any代替AnyObject,或者可以更详细地说明预期会得到响应的数据。