Swift_MCNetwork

作者: Mccc_ | 来源:发表于2018-07-17 18:17 被阅读50次

    一. 代码下载地址

    代码地址

    二. MCNetwork说明

    • 集成了Alamofire和SwiftyJSON。请自行下载。
    • 对错误的处理
    enum MCError <T> {
        case codeError(T)             // 异常的结果处理 
        case networkNull             // 网络异常 没访问到服务器
        case networkBadReturn        // 异常的数据结构
    }
    
    • 调用方法的说明
    public static func POST(_ url: String!, _ params:[String:Any]? = [String:Any](), _ queue:DispatchQueue? = nil,success: @escaping Success<JSON>, failure: Failure<MCError<MCErrorDetail>>? = nil) -> DataRequest { }
    

    大部分情况下,只需要处理,理想返回的状态数据。所以单独用一个success闭包,传递出来JSON对象,外部不再需要考虑条件,直接处理数据即可。

    有一些情况下需要处理,错误的服务器code返回情况,比如登录异常。把它集成在MCError这个枚举中。codeError这个case对应的是一个结构体,有两个属性code,和message

    三. 使用

    let url = ""
    let params = [  "":""]
    
    // 只处理成功的网络请求
    MCNetwork.POST(url,params,success: { (data) in
            // data为JSON类型。 注意SwiftyJSON的使用
    })
    
    // 处理非成功的网络请求。
    MCNetwork.POST(url, ["":""], nil, success: { (data) in
    
    }) { (error) in
             
        switch error {
           case .codeError(let codeError):
                 weakSelf?.showLabel.text = "\(codeError.message) + \(codeError.code)"
           case .networkNull:
                 weakSelf?.showLabel.text = "networkNull"
           case .wrongReturn:
                 weakSelf?.showLabel.text = "wrongReturn"
         }
     }
      
    // GET请求
     MCNetwork.GET(url, params, nil, success: { (data) in
                
     }) { (error) in
                
     }
    
    

    相关文章

      网友评论

        本文标题:Swift_MCNetwork

        本文链接:https://www.haomeiwen.com/subject/rhygpftx.html