美文网首页
Swift之AFN封装

Swift之AFN封装

作者: oh_flying | 来源:发表于2017-06-18 16:17 被阅读89次

看着视频敲swift,人家封装了一个AFN的方法,我跟着封装,结果出错了,原因我目前还不知道,不过我改了下终于改对了,现在贴出来,以后可以自己用,下面是代码:

import UIKit
import AFNetworking


enum WBHTTPMethod {
   case GET
   case Post
}

/// 网络管理工具
///单例
class WBNetworkManger: AFHTTPSessionManager {

/// 静态区/常量/闭包/在第一次访问时,执行闭包,并且将结果保存在shared常量中
static let shared = WBNetworkManger()



func request(method:WBHTTPMethod = .GET,URLString:String,parameters:[String:AnyObject],completion:@escaping (_ json:AnyObject?,_ isSucess:Bool)->()) {
   
    //成功回调
    let sucess = { (task: URLSessionDataTask, json: Any?) in
        completion((json as? [String: Any])! as AnyObject, true)
//            print(json)
    }
    //失败回调
    let failure = { (task: URLSessionDataTask?, error:Error) in
       print("网络请求 \(error)")
        completion(nil, false)
    }
    


    
    if method == .GET {
         get(URLString, parameters: parameters, progress: nil, success: sucess, failure: failure)
    }else {
        post(URLString, parameters: parameters, progress: nil, success: sucess, failure: failure)
    }
   
  }
}

这个里面使用单例进行的封装,相比而言swift的单例比OC的要好写的多,然后request这个函数中我是默认给了GET的请求方法。我再说说我之前改了哪里,就是把sucess里面的json的类型改为了Any?,期初写的是AnyObject,然后再下面的if语句中写的时候,你要穿sucess的时候,会报错,提示你加入一大串我不理解的东西,加入后不报错,但是就是请求不到数据了,控制台输入的是这样的:

控制台输出
如图,显示的baseURL是空,原因我不知道,等我明白了,我在练练解释解释!

相关文章

  • Swift之AFN封装

    看着视频敲swift,人家封装了一个AFN的方法,我跟着封装,结果出错了,原因我目前还不知道,不过我改了下终于改对...

  • swift 封装AFN

    import UIKitimport AFNetworkingenum WBReqMethod { case ge...

  • AFNetWorking 封装

    背景:关于AFN的封装问题是每一个项目都需要的,如果看到那么多的重复代码会疯。so 写了一个swift的AFN封装...

  • Swift AFN简单封装

    封装 使用

  • swift封装AFNetworking

    以前自己用swift封装的AFN,封装成工具类直接拖就能用 首先把工具类设计成单例对象 然后自己封装了网络请求方法

  • iOS-网络相关

    本篇涵盖AFN、ASI、封装网络请求等. 1.iOS网络请求之ASI与AFN的二次封装及意义2.LXNetwork...

  • Swift封装AFN网络请求

    废话不多说直接上代码 }遇到的问题 Any 和 AnyObject的区别

  • swift 开发中封装AFN

    今天呢讲讲开发中封装AFN封装吧因为AFN中AFHTTPResponseSerializer有个属性accepta...

  • 拿走即用之AFN封装(Swift版)

    AFN封装 一旦AFN有较大的变动,用到AFN的项目需要更改很多的地方,为了避免这种情况,一般会对AFN封装出一个...

  • 拿走即用之afn封装(OC版)

    afn封装 一旦AFN有较大的变动,用到AFN的项目需要更改很多的地方,为了避免这种情况,一般会对AFN封装出一个...

网友评论

      本文标题:Swift之AFN封装

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