使用一个 UIAlertController 处理多个错误



我有两个类,它们提供了委托方法,这些方法在从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 个不同的警报,请尝试执行一种机制,在决定显示什么之前等待两个响应。

相关内容

  • 没有找到相关文章

最新更新