swift学习笔记 -Alamofire的封装调用

最近在学习swift,在项目中遇到网络解析的时候遇到不少问题。分享下之后的解决方案。

(1)对Alamofire 进行封装。代码如下:

import UIKit
import Alamofire

enum MethodType {
    case get
    case post
}

class HttpTools {
    //可根据需要传参数
    class func requestData(_ type : MethodType, URLString : String, parameters : [String : Any]? = nil, finishedCallback :  @escaping (_ result : Any) -> ()) {
        let method = type == .get ? HTTPMethod.get : HTTPMethod.post
        Alamofire.request(URLString, method: method, parameters: parameters).responseJSON { (response) in
            guard let result = response.result.value else {
                print(response.result.error ?? -1)
                return
            }
            finishedCallback(result)
        }
    }
}

(2)在viewcontroller 进行调用

 func requestData(finishedCallback : @escaping () -> ()) {
        let parameters: Parameters = [
            "curDateStr": "2017-03-22",
            "curPage": 1,
            "pageSize":10
        ]
        loadAnchorData(isGroupData: true, URLString: "url",parameters:parameters ,finishedCallback: finishedCallback)
    }
    
 func loadAnchorData(isGroupData : Bool, URLString : String, parameters : [String : Any]? = nil, finishedCallback : @escaping () -> ()) {
        HttpTools.requestData(.post, URLString: URLString, parameters: parameters) { (result) in
            print(result)
            guard let dict = result as? [String : Any] else { return }
            guard let arr = dict["data"] as? [[String : Any]] else { return }
            if isGroupData {
                for dict in arr {
                   // self.anchorGroups.append(AnchorGroup(dict: dict))
                }
            } else  {
//                let group = AnchorGroup()
//                for dict in arr {
//                    group.anchors.append(AnchorModel(dict: dict))
                }
                //self.anchorGroups.append(group)
            }
            finishedCallback()
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 15,856评论 4 61
  • Xmind ①发送请求拿到JSON数据后如何序列化(解析) ②如何把OC对象转换为JSON ③JSON数据和OC对...
    CoderZXS阅读 594评论 0 0
  • 一九七三年十二月十二日,是个刻进记忆的日子。天空湛蓝,阳光泼洒在安远县城的水泥路上。早饭刚过,锣鼓声就从四面...
    陈玉生阅读 629评论 0 15
  • 微信公号:Ye会美 老王陪你解答各类情感问题哦 她情真意切的看着你,仿佛要答应你的告白,但你却听到她说: 你真的是...
    绅士FEMS阅读 3,185评论 0 0
  • 记得前些时候看过一篇关于“活在当下”的文章,看的时候只觉得说得很对,但心底却总感觉到哪里不对,一直也没有想明白,便...
    纤陌颜阅读 364评论 0 0

友情链接更多精彩内容