swift中对AFNetWorking的简单封装

废话不多说.直接上代码.拿来就能用



import UIKit
import AFNetworking

// 枚举
enum RequestMethod: String{

    case GET = "GET"
    case POST = "POST"
    
}

class SinaHTTPClient: AFHTTPSessionManager {


    static let shareInstance: SinaHTTPClient = {
    
        let client = SinaHTTPClient()
        
        // 有可能设置一些东西
//        client.responseSerializer.acceptableContentTypes?.insert("")
        
        return client
    }()

    
    // 封装一个方法,通过一个 枚举来区分一下我们的 get/post
    
    // 2 . 其他参数
    
    func reqeust(method: RequestMethod,urlString: String,params: [String: AnyObject]?,success:((NSURLSessionDataTask, AnyObject?) -> ())?,failure:((NSURLSessionDataTask?, NSError) -> ())?){
    
        if method == .GET {
        
            self.GET(urlString, parameters: params, success: success, failure: failure)
        } else if method == .POST {
        
            self.POST(urlString, parameters: params, success: success, failure: failure)
        }
        
        
        
    }

    //进一步封装
    func reqeust(method: RequestMethod,urlString: String,params: [String: AnyObject]?,success:((json:[String: AnyObject]?) -> Void),failure:((error:NSError) -> Void)){
        
        let successBlock = { (task:NSURLSessionDataTask, json:AnyObject?) -> Void in
        
            // 成功之后调不调用这里????
            // 2
            print(json)
            
            let dic = json as? [String: AnyObject]

        }

        let failurBlock = { (task:NSURLSessionDataTask?, error:NSError) -> Void in
 
            print(error)
            
        }
        if method == .GET {
            
            self.GET(urlString, parameters: params, success: successBlock, failure: failurBlock)
        } else if method == .POST {
            
            self.POST(urlString, parameters: params, success: successBlock, failure: failurBlock)
        }
   
    }

    
    func upload(urlString: String,imageData: NSData,params: [String: AnyObject]?,success:((json:[String: AnyObject]?) -> Void),failure:((error:NSError) -> Void)){
    
        self.POST(urlString, parameters: params, constructingBodyWithBlock: { (formdata) -> Void in
            
            //回想一下
            formdata.appendPartWithFileData(imageData, name: "pic", fileName: "xxxyyy", mimeType: "image/jpeg")
            
            }, success: { (_ , JSON) -> Void in
                printLog(JSON)
                success(json: JSON as? [String: AnyObject])
               
            }) { (_ , error ) -> Void in
                printLog(error)
                failure(error: error)
        }

        
    }
   
    
}

发送POST,GET请求调用的时候:


上传图片数据调用的时候:









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值