我有两个类提供从 API 获取数据时报告各种错误的委托方法。HttpAPI
获取天气数据并获取RadarAPI
雷达图像。下面的代码在HomeViewController
其中处理来自每个 API 的数据或错误。
// MARK: - HttpAPI Delegate
extension HomeViewController: HttpAPIDelegate {
func apiSessionError(_ error: Error) {
// show alert with error from url session
}
func apiHttpError(_ code: Int) {
// show alert with HTTP error code
}
func apiJsonError(_ error: Error) {
// show alert with json error
}
func apiSuccess(_ json: [String: Any]) {
// update app with weather data
}
}
// MARK: - RadarAPI Delegate
extension HomeViewController: RadarAPIDelegate {
func radarSessionError(_ error: Error) {
// show alert for url session error
}
func radarHttpError(_ code: Int) {
// show alert with HTTP response error code
}
func radarImageError(_ error: String) {
// show alert with image parsing error message
}
func radarSuccess(_ image: UIImage) {
// update app with weather radar image
}
}
如果在获取天气数据或检索雷达图像时发生错误,我想显示警报。问题是,如果发生错误,HttpAPI
那么RadarAPI
也会报错;因此,UIAlertControllers
将提出两个,不推荐。
如何处理多个错误消息并将这些错误显示在一个单一的UIAlertController
?