Alamofire的请求经理助手课程

时间:2016-04-24 15:22:05

标签: ios swift alamofire helper

我正在为我的一个项目为alamofire创建一个帮助器类。帮助程序类的目标是:

  • 将所有alamofire请求集中到一个班级。
  • 发送请求所需的所有必要事项将是集中的,例如检查用户是否具有访问令牌(如果没有获取),在类中定义基本URL并使用基本URL创建请求的路由。

我已经提出了以下类,导入基础

import Alamofire
import SwiftyJSON

class AFManager {

static let baseApiUrl = "Base URL here"

class func request(type type: Alamofire.Method, requestPath: String, parameters: [String: AnyObject]?, encoding: ParameterEncoding = .JSON,
                        headers: [String: String], onSuccess: (JSON) -> Void, onFailure: (NSError) -> Void) {

    Alamofire.request(type, baseAPIURL + requestPath, parameters: parameters, encoding: encoding, headers: headers).responseJSON { (response) in
        if response.result.isFailure {
            onFailure(response.result.error!)
        } else {
            let json = JSON(response.result.value!)
            onSuccess(json)
        }
    }   
  }  
}

但我不确定上述课程是否足以有效处理我想要实现的目标。如果我遗漏了什么,请告诉我,在创建这样的帮助类时我需要注意什么。

提前致谢。

1 个答案:

答案 0 :(得分:0)

除了处理重试尝试之外,我还想指出一些您可能想要考虑的其他因素。

  • 处理请求取消:您可能希望在将请求添加为请求后取消请求。
  • 缓存图片等资源。
  • 为请求添加优先级。某些请求可能需要比其他请求更高的优先级。
  • 设置将同时运行的最大请求数。 即:您不希望该应用程序开始下载100张图像 异步!

希望这有帮助。