当前位置: 首页 > news >正文

做暖暖视频免费观看免费网站wordpress 伪静态 后台

做暖暖视频免费观看免费网站,wordpress 伪静态 后台,wordpress开发插件,wordpress 评论 顶 踩应iOS小组要求#xff0c;仿写知乎日报需要实现网络请求并解析JSON格式数据#xff0c;这篇文章仅对基本的网络请求和iOS中的JSON解析作以记录#xff0c;还涉及到RunLoop的一点小插曲#xff0c;具体请求过程和原理以后会详细学习#xff01;#x1f64f; 基本网络流程简…应iOS小组要求仿写知乎日报需要实现网络请求并解析JSON格式数据这篇文章仅对基本的网络请求和iOS中的JSON解析作以记录还涉及到RunLoop的一点小插曲具体请求过程和原理以后会详细学习 基本网络流程简单的网络请求示例JSON解析网络请求图示JSON格式也可以通过第三方库JSONModel直接在程序中解析后续将加以学习网络请求其实可通过第三方库AFNetworking来进行为我们简化了许多流程后续将加以学习有关RunLoop的小插曲 基本网络流程 NSURLUniform Resource Locator URL可直接理解为请求网址如https://v0.yiketianqi.com/api?unescape1versionv9appid72961936appsecretm78Z0m2Tcity北京unescape1 其格式为[协议类型]://[服务器器地址]:[端⼝口号]/[资源层级UNIX⽂文件路路径][⽂文件名]?[查询]#[⽚片段ID] 方法URLWithString:将要请求的地址字符串包装成NSURL对象 NSURLRequest NSURLRequest对象就代表一个请求 会将NSURL对象以及各种参数设置封装起来无需设置其他参数时方法 (instancetype)requestWithURL:(NSURL *)URL;即可 NSURLSession 一个session可创建多个请求request并负责接收、发送和处理请求 整个程序中也可以有多个session 创建session方法单例sharedSession session会将request封装成Task 来处理数据 可以看到如果请求逻辑没那么复杂也可直接用第二个方法将NSURL封装成session NSURLSessionTask 用Task类的resume方法来开启请求 简单的网络请求示例 用一个方法dataLoader封装一下最后在Controller中调用次此方法 - (void)dataLoader {self.dict [[NSDictionary alloc] init];NSString* urlString https://v0.yiketianqi.com/api?unescape1versionv9appid72961936appsecretm78Z0m2Tcity北京unescape1;//处理字符//urlString [urlString stringByAddingPercentEncodingWithAllowedCharacters: [NSCharacterSet URLQueryAllowedCharacterSet]];//创建urlNSURL* url [NSURL URLWithString: urlString];//NSURLRequest* request [NSURLRequest requestWithURL: url];//创建sessionNSURLSession* session [NSURLSession sharedSession];//创建taskNSURLSessionTask* task [session dataTaskWithURL: url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {if (!error) {//解析数据//self.dict [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: error];NSLog(%, data);} else {NSLog(请求出现错误%, error);}}];//任务启动开始请求[task resume]; }JSON解析 请求下来的数据是NSData二进制流 下面用一个类NSJSONSerialization将该数据转换成对象用字典接收并打印出来 self.dict [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: error]; NSLog(%, self.dict);解析成对象我们仍旧看不懂这里编码格式是Unicode转义序列这就需要JSON解析Unicode转中文, … , …网上有许多JSON解析在线工具 网络请求图示 下面用一张图展示网络请求流程 JSON格式也可以通过第三方库JSONModel直接在程序中解析后续将加以学习 网络请求其实可通过第三方库AFNetworking来进行为我们简化了许多流程后续将加以学习 有关RunLoop的小插曲 编者一开始其实是在main函数里调用并执行请求的最后发现command Line Tool并没有显示打印内容咨询了zxb10学长发现原来是RunLoop的问题 RunLoop 是一个事件循环负责处理各种事件包括网络请求的回调。在进行异步网络请求时通常会使用回调函数或代理方法来处理请求的响应。这些回调函数或代理方法需要在 Run Loop 中执行才能正确地接收和处理网络请求的响应 在main函数中默认情况下并没有启动RunLoop因此当网络请求的回调发生时由于Runloop没有运行无法处理这些事件包括打印输出而在iOS项目中主线程的RunLoop默认会启动并且在主RunLoop运行期间ta会一直处于运行状态直到应用程序退出。这意味着主线程的RunLoop会不断地处理事件包括网络请求的回调和其他消息 为了解决这个问题可以在main函数中创建一个自定义的RunLoop并在其中执行网络请求。这样网络请求的回调就能够在正确的上下文中被执行从而使打印输出能够正常显示 - (void)dataLoader {// 创建一个自定义 Runloop并运行在主线程上NSRunLoop *runloop [NSRunLoop mainRunLoop];self.dict [[NSDictionary alloc] init];NSString* urlString https://v0.yiketianqi.com/api?unescape1versionv9appid72961936appsecretm78Z0m2Tcity北京unescape1;//创建urlNSURL* url [NSURL URLWithString: urlString];//创建sessionNSURLSession* session [NSURLSession sharedSession];//创建taskNSURLSessionTask* task [session dataTaskWithURL: url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {if (!error) {//解析数据self.dict [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: error];NSLog(%, self.dict);} else {NSLog(请求出现错误%, error);}// 停止自定义 RunloopCFRunLoopStop([runloop getCFRunLoop]);}];//任务启动开始请求[task resume];// 运行自定义 Runloop[runloop run]; }
http://www.hkea.cn/news/14490770/

相关文章:

  • 阿里云虚拟主机做企业网站深圳网站备案拍照点
  • 分析企业网站建设流程平面设计必备软件
  • 网站建设怎样推广做网站跟app
  • 社区网站推广方案培训机构参与课后服务
  • 网站规划设计是什么样的排名优化系统
  • 做淘宝客网站需要多大空间什么网站可以做特价活动
  • 浙江建设网站公司外贸企业网站推广方案
  • 淘宝网站建设不允许西安企业网站开发哪家好
  • 南宁旅游网站建设wordpress远程附件
  • 网站管理的内容包括怎样才能建立网站
  • 做网站对服务器什么要求高asp企业网站源码下载
  • html5网站代理建网站的服务器
  • 宁海县城镇建设局网站wordpress 简洁文章主题
  • 网站运营推广难做吗网络推广软件哪个好
  • 在哪个网站做流动补胎的广告好建立企业网站方案
  • 古典风格中药医药企业网站模板源码flash个人网站动画
  • 广州购物网站开发php网站开发技巧
  • 电子商务网站建设过程报告导购网站如何做免费推广
  • 给个网站可以在线wordpress导航主题模板
  • win10 做网站服务器潜江资讯网官网
  • 网站建设 计入哪个科目wordpress开头
  • 蚌埠 网站制作济南建设档案大厦
  • 东莞网站建设曼哈顿信科wordpress页面文本编辑评论
  • 四川seo整站优化费用分类信息网
  • 小型企业类网站开发公司建设网站多少钱 2017
  • 手机网站 制作深圳 购物商城网站建设
  • 通州青岛网站建设知名网站建设制作
  • 网站建设招代理平台设计公司
  • 不合理的网站网站开发基本要求
  • 按颜色分类的网页设计欣赏网站wordpress 主题语言