`- 1 该文章是讲框架内的函数使用(JSON 转Model) 暂时只支持json 不支持XML
- 1.1该函数有带进度条的功能(包括HUD俗称菊花转圈) 如下图:
使用第三方库有---> 可以在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
网友评论