swift集成alamofire的简单封装

import UIKit

import Alamofire

 

enum MethodType{

    case GET

    case POST

}

 

class NetworkTool: NSObject {

 

    class func request(type : MethodType ,urlString : String , paramters: [String :Any]? = nil,finishedCallback : @escaping (_ result : Any) -> ()) {

       

        //判断是什么类型的请求

        let method = type == .GET ? HTTPMethod.get : HTTPMethod.post

        

        // 发送网络请求

        Alamofire.request(urlString , method: method, parameters: paramters).responseJSON { (response) in

            

            guard let result = response.result.value else{

                print(response.result.value)

                return

            }

            

            // 回调

            finishedCallback(result as AnyObject)

        }

    }

}

 

 

//---

import UIKit

 

class BaseVM: NSObject {

 

    

    lazy var anchorGroups: [AnchorGroup] = [AnchorGroup]()

    func loadAnchorGroupData(isLiveData : Bool, URLString : String, parameters : [String : Any]? = nil, finishedCallback : @escaping () -> ()) {

        NetworkTool.request(type: .GET, urlString: URLString, paramters: parameters) { (result) in

            guard let dict = result as? [String : Any] else { return }

            if isLiveData {

                guard let dictionary = dict["data"] as? [String : Any] else { return }

                self.anchorGroups.append(AnchorGroup(dict: dictionary))

            } else {

                guard let arr = dict["data"] as? [[String : Any]] else { return }

                for dict in arr {

                    self.anchorGroups.append(AnchorGroup(dict: dict))

                }

            }

            finishedCallback()

        }

    }

    

    // MARK: - items, total

    lazy var searchGroup: [SearchModel] = [SearchModel]()

    func loadSearchData(URLString : String, parameters : [String : Any]? = nil, finishedCallback : @escaping () -> ()) {

        NetworkTool.request(type: .GET, urlString: URLString, paramters: parameters) { (result) in

            guard let dict = result as? [String : Any] else { return }

            guard let dictionary = dict["data"] as? [String : Any] else { return }

            self.searchGroup.append(SearchModel(dict: dictionary))

            finishedCallback()

        }

    }

}

 

转载于:https://www.cnblogs.com/supersr/p/5364539.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值