Swift 网络请求的异步线程实现同步 *** 作

Swift 网络请求的异步线程实现同步 *** 作,第1张

使用串行队列和信号量机制使异步线程完成同步 *** 作

或者:

1、使用dispatch_group_notify监听队列的执行结果;

2、在队列的异步执行中使用信号量(dispatch_semaphore)来控制网络接口的请求为同步执行;

3、当刷新UI的时候一定要在主线程 *** 作;

结果:

1、使用dispatch_group_notify监听队列的执行结果;

2、使用异步组的enter和leave方法控制网络接口的请求为同步执行;

3、当刷新UI的时候一定要在主线程 *** 作;

结果:

swift同样可以实现OC中AFNetworking+MJExtension的效果,实现方法是Alamofire+SwiftyJSON+HandyJSON

Alamofire:网络请求

SwiftyJSON:数据解析

HandyJSON:映射为model

节约系统开支不用每次网络请求都生成一个SessionManager子类对象

新建model类

使用方法

可以看到网络请求成功之后返回了一个数组,数组内是自定义数据类型

HandyJSON用于数据映射时注意

2.重命名属性时实现方法

3.映射为model类和映射为model数组的用法分别为

Demo地址

https://github.com/jizhigang/SwiftNetDemo

如果jquery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,即将该JSON字符串放于eval()中执行一次

var dataObj=eval("("+data+")")//转换为json对象


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9257915.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存