Swift快速集成函数使用篇(网络请求GET,POST)JSON转Model

`- 1 该文章是讲框架内的函数使用(JSON 转Model) 暂时只支持json 不支持XML

  • 1.1该函数有带进度条的功能(包括HUD俗称菊花转圈) 如下图:
Swift快速集成函数使用篇(网络请求GET,POST)JSON转Model_第1张图片
带有进度条的.gif
Swift快速集成函数使用篇(网络请求GET,POST)JSON转Model_第2张图片
HUD的(菊花).gif

Swift快速集成函数使用篇(网络请求GET,POST)JSON转Model_第3张图片
HUD(菊花)和进度条的并且有蒙版的背景.gif

使用第三方库有---> 可以在 https://github.com 上搜索到

AFNetworking #网络请求 (oc)
SwiftyJSON #Json转换 (Swift)
MJExtension #json转model (oc)

  • 2 首先看看我们返回的JSON是这样的 (例子)
  "args" : {
    "foo" : "bar"
  },
  "origin" : "113.16.166.58",
  "headers" : {
    "User-Agent" : "ProjectFramework",
    "Accept-Encoding" : "gzip;q=1.0,compress;q=0.5",
    "Host" : "httpbin.org",
    "Accept-Language" : "en-US;q=1.0",
    "Accept" : "*\/*"
  },
  "url" : "https:\/\/httpbin.org\/get?foo=bar"
  • 3 再来看看我们实现的代码 (Model类)
import UIKit 
//具体如何使用MJExtension请上官网查看
class argsmodel:NSObject{
    var foo:String=""
}
class headersmodel:NSObject{
    var UserAgent:String=""  
    var Accept_Encoding:String=""
    var Host=""
    var Accept_Language:String=""
    var Accept:String=""
}
class test:NSObject  {
    var args:argsmodel?
    var headers:headersmodel?
    var origin:String=""
     var url:String=""
}
  • 4 在看看https请求 代码
 //带有navigationController进度条的加载(可以不需要实现,具体看函数说明 ) 

AFNHelper.get(self, urlString: "https://httpbin.org/get", parameters: ["foo": "bar"],isHUD: true,isHUDMake: false, success: { (json) in
            
            if(json != nil){    //==nil表示失败的
                //如果有自定义的JSON协议,需要自己解析协议
                let value =   test.mj_object(withKeyValues: (json?.dictionaryObject)!)
                
                print(value?.args?.foo)
                 
            }
            
        }) { (error) in
            print(error)
        }

建议返回的json别带有一些别的特殊字符

如需代码,请移动到--->http://www.jianshu.com/p/0f950c180cb8

你可能感兴趣的:(Swift快速集成函数使用篇(网络请求GET,POST)JSON转Model)