我对Swift比较陌生,在解析graphqlapi调用的结果时遇到了问题。
我看到'failure()'声明中的结果是NSError类型的,如果是'failure',我基本上会尝试访问它,然后访问NSError键。结果是:
failure(Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={NSUnderlyingError=0x282232700 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x280e54b40 [0x1faa4fcf0]>{length = 16, capacity = 16, bytes = 0x1002005036d7fb9f0000000000000000}, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=http://staging.mysite.com/api/, NSErrorFailingURLKey=http://staging.mysite.com/api/v2/, _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-4, NSLocalizedDescription=The network connection was lost.})
print("\(result)")
结果是类型的对象
Result<GraphQLResult<Data>, Error>
if let firstError = try? result.get().errors?.first {
completion([], [], firstError)
return
}
它通过了这个检查,所以它只是将它解释为一个正常的数据结果。我的问题是如何解析这些信息?
我的想法是,我需要检查它是否失败,然后将其从“failure”类型中展开,然后可以将包含的信息视为NSError对象。我不能使用'contains',因为它不是字符串。有一个
get()
上的方法
result
这样你就可以
result.get().data
或
result.get().error
任何帮助我如何分析这些信息将不胜感激。谢谢!