因为客户的要求,项目中使用了OpenAPI来生成swift代码
刚用的时候还不太会,给header加token还写在内部的addHeader方法里,后来才知道在OpenAPIClientAPI类里有一个叫customHeaders的静态变量,直接赋值就好
除了这个问题还遇到了错误解析的问题
想了各种办法,只要走了error回调,里面的errorCode 和data我都取不出来,控制台里可以打印出来。客户又不让修改生成出来的文件。
最后注意到返回的Error的类型是这样定义的
public enum ErrorResponse : Error {
case error(Int, Data?, Error)
}
查了一下枚举里带括号的用法,这个用法叫做关联值(Associated Value)
用这种方法就可以取出其中的关联值啦
switch error {
case .error(let errCode, let errData, let err):
//xxxxx
}
还有一种用法效果也一样
if case let ErrorResponse.error(errCode, errData, err) = error {
//xxxxx
}
网友评论