0

我有两个类提供从 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?

4

1 回答 1

0

为什么UIAlertControllers不允许出现2?

无论如何,如果您不想显示 2 个不同的警报,请尝试执行一种机制,在决定显示什么之前等待两个响应。

于 2017-05-29T13:28:19.863 回答