返回
Alamofire Response源码解读之数据封装类
IOS
2023-10-21 02:02:11
DefaultDataResponse
DefaultDataResponse是一个没有序列化的响应者。它继承自Response,并实现了ResponseProtocol协议。DefaultDataResponse的属性包括:
- request:发出请求的URLRequest对象。
- response:服务器的URLResponse对象。
- data:服务器返回的数据。
- error:如果请求出错,则包含错误信息。
- metrics:请求的性能指标。
DefaultDataResponse的方法包括:
- validate():验证请求是否成功。
- map():将数据映射到另一个类型。
- filter():过滤数据。
- flatMap():将数据映射到另一个类型,并将其展平。
- compactMap():将数据映射到另一个类型,并过滤掉空值。
DataResponse
DataResponse是一个序列化的响应者。它继承自DefaultDataResponse,并实现了DataResponseProtocol协议。DataResponse的属性包括:
- request:发出请求的URLRequest对象。
- response:服务器的URLResponse对象。
- data:服务器返回的数据。
- result:请求的结果。
- error:如果请求出错,则包含错误信息。
- metrics:请求的性能指标。
DataResponse的方法包括:
- validate():验证请求是否成功。
- map():将数据映射到另一个类型。
- filter():过滤数据。
- flatMap():将数据映射到另一个类型,并将其展平。
- compactMap():将数据映射到另一个类型,并过滤掉空值。
总结
在本文中,我们对Alamofire Response的源码进行了解读,重点介绍了数据封装类DefaultDataResponse和DataResponse。我们首先介绍了DefaultDataResponse,它是一个没有序列化的响应者,然后介绍了DataResponse,它是一个序列化的响应者。最后,我们总结了本文的主要内容。