ios-Swift中封装AFN中的GET和POST请求

当我们通过CocoaPods下载完AFN框架之后,我们想在工程中去应用它我们需要加一个import的头文件 import AFNetworking

我们怎么去找这个头文件就是在我们这个项目中去寻找

具体写法如下所示

import UIKit
//导入头文件
import AFNetworking
//定义请求的枚举
enum ZXRequestMethod :String {
    
    case GET = "GET"
    case POST = "POST"
}

class NetworkTools: AFHTTPSessionManager {

    //单例写法,设置工具类
    static let sharedTools :NetworkTools = {
       
        let tools = NetworkTools(baseURL: nil)
        
        tools.responseSerializer.acceptableContentTypes?.insert("text/html")
        return tools
    }()
   
}
extension NetworkTools {
   
    func request(method:ZXRequestMethod,URLString:String,parameters:[String: AnyObject]?,finished:@escaping (_ result:AnyObject?,_ error:Error?)->())
    {
        //success的闭包的写法,需要和get请求中闭包的参数是一样的
        let success = {
            (task:URLSessionDataTask?,result:Any?) -> Void
            in
            finished(result as? AnyObject,nil)
            
        }
        
        //failure的写法,这里需要和我们在get请求中的闭包的参数是一样的
        let failure = {
            (task:URLSessionDataTask?,error:Error)-> Void
            in
            finished(nil,error)
        }
        //在get请求和post请求中其实成功和失败的回调函数基本一致,所以我们可以把它抽出来,下面的代码就比较少了
        if(method == ZXRequestMethod.GET)
        {
        get(URLString, parameters: parameters, progress: nil, success: success, failure: failure)
        }
        else
        {
         post(URLString, parameters: parameters, progress: nil, success: success, failure: failure)
            
        }
    
    }
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值