本着学习的态度,经过生活的积累,自己在项目中不断地学习,开始了学习写一些简单的库,共大家使用,虽然有点简单,但是思想确实一个编程思想,今天带来一个不一样的第三方下载库,超级好用,相对来说比较简单。一会附上链接。下面说一说这个库的详细使用方法:
首先下载第三方库:下载好后如图所示:链接地址https://github.com/gityjh519/networkmanager.git
config文件夹
这个文件主要是为下载配置的一下信息,包括监听网络状态,json的解析等,这些你用来解析其他的json数据。
data文件夹
这个主要是是用来保存下载好的数据,缓存到内存里还磁盘里。
http文件夹
这个是主要是下载和上传的功能。这里面都是一些基类,所以一般不直接使用,而是使用子类继承来使用。
model文件夹
这个主要就一个文件,这个是为了接受,一个OC对象,这个文件里有详细的说明,在swift当中,我们不建议使用这个对象,而是建议使用struct(结构体),以便符合swift特性。
最后两个文件就是我们常用的下载和UIImageView扩展了。
在ViewController.swift有下载的具体用法,这里就不在赘述了。对于上传我在这里说一下。
他和下载是差不多的:
func updateData() {
let request = NetworkRequest(methedType: .POST, rsType: .typeJson);
request.clsModel = WeatherObjectModel.classForCoder()
request.addBody(value: "张三", key: "userName")
request.addBody(value: "程序员", key: "job")
request.addBodyData(value: UIImage().pngData(), key: "image")
request.loadJsonStringFinished { result, error in
let model = result as? BaseModel
let childModel = model?.content as? WeatherObjectModel;
print(childModel?.modelDict)
}
}
对于下载和上传的进度可以用下面的block回调。
request.currentProgress = {
pro in
print("当前的进度:\(pro)")
}
目前这个下载只适用于iOS客户端开发,是比适合针对iOS项目开发的一个小型库,这里说的比较简单,代码逻辑也是比较好懂,现在功能有些单一,这个以后我会维护的。如果有什么建议也可以提给我。微信号:xyz8981606 欢迎咨询
|