我有两个类,它们提供了委托方法,这些方法在从API获取数据时报告各种错误。HttpAPI
获取天气数据,RadarAPI
获取雷达图像。下面的代码位于处理来自每个 API 的数据或错误的HomeViewController
中。
// 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
中显示这些错误?
为什么不允许显示 2 个UIAlertControllers
?
无论如何,如果您不想显示 2 个不同的警报,请尝试执行一种机制,在决定显示什么之前等待两个响应。