swift ——~——~第三方网络请求封装
来源:互联网 发布:视频旋转软件中文版 编辑:程序博客网 时间:2024/06/06 19:09
最近闲了下来,做个demo看了下swift3.0相比2.0发生了多大的变化
费话不多说,直接上代码
static func getRequest(url:NSString,dic:NSDictionary,cla:AnyClass,progress:((Progress)->Void)?, success:@escaping ((URLSessionDataTask,Any?)->Void),failure:((URLSessionDataTask?,Error)->Void)?){
let sesson = AFHTTPSessionManager.init();
sesson.requestSerializer.timeoutInterval = 15;
sesson.responseSerializer.acceptableContentTypes = NSSet.init(objects: "application/json", "text/json", "text/javascript","text/html") as? Set<String>;
sesson.get(url as String , parameters: dic, progress: { (Progress) in
print(Progress);
}, success: { (URLSessionDataTask, dictionary) in
let Dict = dictionary as! NSDictionary;
print(Dict);
let code = Dict["code"] as! NSInteger;
if code == 1 {
let dddsf = Dict["datas"] as! NSDictionary
let aaa = dddsf.allValues[0] as! NSArray;
let sdfsdsdf = NSMutableArray.init(array: aaa)
success(URLSessionDataTask,HttpTowWork.model(array: sdfsdsdf as! NSMutableArray,cla:cla));
}else{
}
}, failure: { (URLSessionDataTask, Error) in
print(Error);
failure!(URLSessionDataTask,Error);
});
}
static func model(array:NSMutableArray,cla:AnyClass)->(NSArray){
let array = NSMutableArray.init(array:array)
return NSMutableArray.init(array: RMMapper.mutableArray(of: cla, fromArrayOfDictionary: array))
}
外部调用
func HotGroupBuying(){
HttpTowWork.getRequest(url: APIWorkClass.hotDeals(), dic: NSDictionary.init(), cla: ShopGoodsModel.classForKeyedUnarchiver(), progress: { (Progress) in
}, success: { (URLSessionDataTask, idClass) in
let array = idClass as! NSArray
print(array)
self.dataArray.replaceObject(at: 0, with: array)
self.collectionView .reloadData()
}) { (URLSessionDataTask, Error) in
}
}
费话不多说,直接上代码
static func getRequest(url:NSString,dic:NSDictionary,cla:AnyClass,progress:((Progress)->Void)?, success:@escaping ((URLSessionDataTask,Any?)->Void),failure:((URLSessionDataTask?,Error)->Void)?){
let sesson = AFHTTPSessionManager.init();
sesson.requestSerializer.timeoutInterval = 15;
sesson.responseSerializer.acceptableContentTypes = NSSet.init(objects: "application/json", "text/json", "text/javascript","text/html") as? Set<String>;
sesson.get(url as String , parameters: dic, progress: { (Progress) in
print(Progress);
}, success: { (URLSessionDataTask, dictionary) in
let Dict = dictionary as! NSDictionary;
print(Dict);
let code = Dict["code"] as! NSInteger;
if code == 1 {
let dddsf = Dict["datas"] as! NSDictionary
let aaa = dddsf.allValues[0] as! NSArray;
let sdfsdsdf = NSMutableArray.init(array: aaa)
success(URLSessionDataTask,HttpTowWork.model(array: sdfsdsdf as! NSMutableArray,cla:cla));
}else{
}
}, failure: { (URLSessionDataTask, Error) in
print(Error);
failure!(URLSessionDataTask,Error);
});
}
static func model(array:NSMutableArray,cla:AnyClass)->(NSArray){
let array = NSMutableArray.init(array:array)
return NSMutableArray.init(array: RMMapper.mutableArray(of: cla, fromArrayOfDictionary: array))
}
外部调用
func HotGroupBuying(){
HttpTowWork.getRequest(url: APIWorkClass.hotDeals(), dic: NSDictionary.init(), cla: ShopGoodsModel.classForKeyedUnarchiver(), progress: { (Progress) in
}, success: { (URLSessionDataTask, idClass) in
let array = idClass as! NSArray
print(array)
self.dataArray.replaceObject(at: 0, with: array)
self.collectionView .reloadData()
}) { (URLSessionDataTask, Error) in
}
}
0 0
- swift ——~——~第三方网络请求封装
- 第三方网络请求的封装
- swift网络请求封装
- android请求网络——第三方库android-async-http的使用(1)
- android请求网络——第三方库android-async-http的使用(2)
- android请求网络——第三方库android-async-http的使用(3)
- android请求网络——第三方库android-async-http的使用(4)
- swift中的网络请求——NSURLConnection
- swift中的网络请求——NSURLSessionDataTask
- 安卓网络请求框架第三弹——OkHttp的封装
- iOS--封装网络请求 ——实例
- iOS——封装网络请求
- Python网络爬虫——Requests第三方库
- iOS数据库离线缓存思路和网络层封装——网络请求基类封装
- Android 网络编程——HTTP请求的封装
- iOS开发 封装网络请求 ——实例
- iOS开发——post异步网络请求封装
- iOS开发——POST异步网络请求自行封装
- C++中各种类型int double long的表示范围
- 用户态与内核态
- grpc 的协议分析
- poj_1201_Intervals
- MT6582的KK版本,使用MTK_LCM_PHYSICAL_ROTATION旋转180度后,LK不会旋转
- swift ——~——~第三方网络请求封装
- 虚拟地址、线性地址和物理地址的转换
- 常用的cmd命令
- gRPC的简单Go例子
- 【51nod1060】【最复杂的数】【数论】【反素数】【搜索】【结论】
- HTML游戏开发实践之跨平台开发
- mui 开发知识积累-------打开页面的方式
- ndk环境搭建(HelloJNI开发)
- MAC笔记本 Safari,Chrome等浏览器无法打开网页