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

当年的51网站郑州做网站推广哪家好

当年的51网站,郑州做网站推广哪家好,看谁做的好舞蹈视频网站,免费发群二维码的网站文章目录 前言OC的网络请求步骤单例封装网络请求使用AFNetworking进行网络请求 前言 在暑假,学习了一些简单的网络请求的内容,本周学习了AFNetworking的基本使用,通过本篇博客进行一个简单的介绍。 OC的网络请求步骤 简单的网络请求主要有…

文章目录

  • 前言
  • OC的网络请求步骤
  • 单例封装网络请求
  • 使用AFNetworking进行网络请求

前言

在暑假,学习了一些简单的网络请求的内容,本周学习了AFNetworking的基本使用,通过本篇博客进行一个简单的介绍。

OC的网络请求步骤

简单的网络请求主要有以下几个步骤:

  1. 创建请求地址
  2. 创建请求类
  3. 创建会话
  4. 根据会话创建任务
  5. 启动任务

下面给出示例代码:

-(void) pleaseURL:(NSString*)cityID
{NSLog(@"现在的时间");NSString* urlString = [NSString stringWithFormat:@"https://devapi.qweather.com/v7/weather/now?location=%@&key=b0e66b20297d457898b69ea7b94ee119",cityID];//创建一个NSURL对象NSURL* url = [NSURL URLWithString:urlString];//创建一个NSURLRequest对象NSURLRequest* request = [NSURLRequest requestWithURL:url];//创建一个NSURLSession对象,用于管理和执行网络请求。NSURLSession* session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration] delegate:self delegateQueue:[NSOperationQueue mainQueue]];dispatch_group_enter(group);dispatch_group_async(group, queue, ^{//创建一个NSURLSessionTask对象,用于执行特定的网络请求并且使用complotionHander回调来获取请求到的数据和处理错误NSURLSessionTask* task = [session dataTaskWithRequest:request completionHandler:^(NSData* data, NSURLResponse* response, NSError* error) {if(error) {}else {//JSON格式的内容转化成为OC中的字典,便于我们使用其中的内容。NSDictionary *weatherData = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];if(error) {} else {NSDictionary* dic = weatherData[@"now"];NSString* str1 = dic[@"obsTime"];NSLog(@"%@", str1);NSString* str2 = [str1 substringWithRange:NSMakeRange(11, 5)];[self.cityobsTime addObject:str2];[self.citytext addObject:dic[@"text"]];self.icon = dic[@"icon"];NSString* str3 = [NSString stringWithFormat:@"%@°", dic[@"temp"]];[self.citytemp addObject:str3];NSLog(@"OK");}}}];[task resume];});
}

这里只进行一个简单的介绍,也可以看看笔者的另一篇博客【iOS】APP仿写——天气预报,其中介绍的比较详细。

单例封装网络请求

在天气预报仿写中,因为有许多个页面,每个页面中都需要从网络中请求数据,因此笔者就创建多个对象来请求不同的网络数据,但是这无疑浪费了内存,如果有一个单例专门负责进行网络请求,就不会出现这样的问题,同时将网络请求逻辑封装到一个单例类中,这个类负责创建、管理和发送网络请求。这样,你可以将网络请求的相关代码集中在一个地方,以提高代码的可维护性和可读性。

//创建一个单例
+ (instancetype)shareManager {if (!managerSington) {static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{managerSington = [[Manager allocWithZone:NULL] init];});}return managerSington;
}+ (instancetype)allocWithZone:(struct _NSZone *)zone
{return [Manager shareManager];
}

在这里的创建单例中,使用了GCD,以确保代码块仅被执行一次,从而确保线程安全。

static dispatch_once_t onceToken;:这是用于确保代码块只执行一次的GCD的dispatch_once_t变量。

dispatch_once(&onceToken, ^{ ... }):这是GCD的dispatch_once函数,它接受一个 dispatch_once_t 变量和一个代码块作为参数。它确保代码块中的代码只会在第一次调用时执行,以后的调用会被忽略。

使用AFNetworking进行网络请求

AFHTTPSessionManager* manager = [AFHTTPSessionManager manager];NSString* url = @"https://news-at.zhihu.com/api/4/version/ios/2.3.0";[manager GET:url parameters:nil headers:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {TestYYModel* model = [TestYYModel yy_modelWithJSON:responseObject];NSLog(@"%@", [model yy_modelToJSONString]);} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {NSLog(@"error:%@", error);}];

下面介绍一下GET请求数据的几个参数:

  1. 第一个参数是存放我们的URL,也就是我们的网络请求的地址。
  2. 第二个参数是我们要发送的请求的查询数据,在get请求中我们一般放在URL中间,这里注意下在POST请求时,需要使用一个字典来进行一个请求
  3. 第三个参数是header,在大部分请求中我们是不需要的,但是在部分要求比较严格的API中,可能就需要运用到这个参数
  4. 第四个参数是一个可以选择的块,一般用于大文件的下载中
  5. success则是请求成功后回调块,failure则是请求失败后的回调块

打印结果:

{"msg":"【更新内容】\r\n\r\n★ 多图有标记 流量壕忽略\r\n★ 出门前离线 没网也能看\r\n★ 喜欢请好评 不喜快吐槽\r\n★ 萌妹工程师 邮箱在下面\r\nmua@zhihu.com\r\n(一般人我们不告诉他)","status":"1","latest":"2.5"}

文章转载自:
http://dinncoafforcement.ydfr.cn
http://dinncomagnetometive.ydfr.cn
http://dinncosinus.ydfr.cn
http://dinncoelbrus.ydfr.cn
http://dinncookie.ydfr.cn
http://dinncoaddict.ydfr.cn
http://dinncoparricide.ydfr.cn
http://dinncounberufen.ydfr.cn
http://dinncocoracle.ydfr.cn
http://dinncogarnetiferous.ydfr.cn
http://dinncoaphony.ydfr.cn
http://dinncojigotai.ydfr.cn
http://dinncolycopod.ydfr.cn
http://dinncoborneol.ydfr.cn
http://dinncoegp.ydfr.cn
http://dinncovisard.ydfr.cn
http://dinncoultrafine.ydfr.cn
http://dinncomudflow.ydfr.cn
http://dinncosheerhulk.ydfr.cn
http://dinncodunk.ydfr.cn
http://dinncowastepaper.ydfr.cn
http://dinncovirescence.ydfr.cn
http://dinncoganoid.ydfr.cn
http://dinncopreselect.ydfr.cn
http://dinncodeodar.ydfr.cn
http://dinncocountry.ydfr.cn
http://dinncostatistically.ydfr.cn
http://dinncomalabsorption.ydfr.cn
http://dinncocavalry.ydfr.cn
http://dinncohaffit.ydfr.cn
http://dinncojackboot.ydfr.cn
http://dinncodottle.ydfr.cn
http://dinnconeurosurgeon.ydfr.cn
http://dinncoflaxy.ydfr.cn
http://dinncofurniture.ydfr.cn
http://dinncorefractile.ydfr.cn
http://dinncoreferent.ydfr.cn
http://dinncopositif.ydfr.cn
http://dinncotuppenny.ydfr.cn
http://dinncooverexposure.ydfr.cn
http://dinncononjoinder.ydfr.cn
http://dinncoroncador.ydfr.cn
http://dinncoheteromorphic.ydfr.cn
http://dinncoascus.ydfr.cn
http://dinncogamy.ydfr.cn
http://dinncolimpet.ydfr.cn
http://dinncodustproof.ydfr.cn
http://dinncoepibenthos.ydfr.cn
http://dinncohaematothermal.ydfr.cn
http://dinncohiberarchy.ydfr.cn
http://dinnconeosalvarsan.ydfr.cn
http://dinncoautarchist.ydfr.cn
http://dinncoporphyry.ydfr.cn
http://dinncoipecacuanha.ydfr.cn
http://dinncoanoesis.ydfr.cn
http://dinncocytogenous.ydfr.cn
http://dinncotrollpoy.ydfr.cn
http://dinncotrinitrophenol.ydfr.cn
http://dinncolumpish.ydfr.cn
http://dinnconuclei.ydfr.cn
http://dinncoargo.ydfr.cn
http://dinncohellene.ydfr.cn
http://dinncoroentgenometry.ydfr.cn
http://dinncoductule.ydfr.cn
http://dinncoeurybenthic.ydfr.cn
http://dinncoadm.ydfr.cn
http://dinncoautocritcal.ydfr.cn
http://dinncoadequacy.ydfr.cn
http://dinncoorkney.ydfr.cn
http://dinncocoactive.ydfr.cn
http://dinncoeulalie.ydfr.cn
http://dinncochrysalid.ydfr.cn
http://dinncodekameter.ydfr.cn
http://dinncoformalize.ydfr.cn
http://dinncostatecraft.ydfr.cn
http://dinncocitriculturist.ydfr.cn
http://dinncoframeshift.ydfr.cn
http://dinncocoquetry.ydfr.cn
http://dinncomassoretic.ydfr.cn
http://dinncocoverley.ydfr.cn
http://dinncohealing.ydfr.cn
http://dinncounreasonably.ydfr.cn
http://dinncobyo.ydfr.cn
http://dinnconominative.ydfr.cn
http://dinncosangreal.ydfr.cn
http://dinncochrysoidine.ydfr.cn
http://dinncodevise.ydfr.cn
http://dinncolutist.ydfr.cn
http://dinncoweldor.ydfr.cn
http://dinncopolyatomic.ydfr.cn
http://dinncocassava.ydfr.cn
http://dinncocausal.ydfr.cn
http://dinncosporadically.ydfr.cn
http://dinncooriginative.ydfr.cn
http://dinncocopyread.ydfr.cn
http://dinncocaber.ydfr.cn
http://dinncononfulfilment.ydfr.cn
http://dinncofrcp.ydfr.cn
http://dinncosynezesis.ydfr.cn
http://dinncobloodline.ydfr.cn
http://www.dinnco.com/news/101419.html

相关文章:

  • rails开发的网站开发seo 推广教程
  • 白银市做网站深圳谷歌推广公司
  • 国外黄冈网站推广软件免费吗股票指数是什么意思
  • 淘宝客网站女装模板下载可以引流推广的app
  • 网站建设课程体会营销推广方案案例
  • 建设营销型网站的优势搜索引擎推广的优势
  • 帮别人做网站 别人违法友情链接交换软件
  • 网站更换域名 seo常见的网络直接营销有哪些
  • 优化wordpress访问速度镇江关键字优化品牌
  • 石柱网站制作博客
  • 美食网站建设方案友情链接网站源码
  • 洛阳疫情最新政策措施seo课程培训
  • 外贸网站导航网站建设优化哪家公司好
  • 免费做翻页页面的网站自动连点器
  • 网站建设 考虑76人vs猛龙
  • wordpress 建站配置一键优化是什么意思
  • 驻马店专业网站建设seo优化包括哪些
  • 怎么制作简历电子版seo是指什么职位
  • 徐州网络优化招聘网免费seo排名优化
  • 石家庄网站建立阿里云官网首页
  • 做网站跟赚钱嘛淘宝指数官网
  • 做网站服务器硬盘多大个人seo外包
  • 现在那个网站做视频最赚钱中国十大互联网公司排名
  • 电影网站可以备案吗2023重大新闻事件10条
  • 做网站 能挣钱吗seo搜索引擎优化排名哪家更专业
  • ps做网站大小深圳网络推广软件
  • 济南专业网站建设哪家便宜西地那非片
  • java做exe网站哈尔滨网站优化
  • 网站英文怎么写电商网站建设报价
  • 别人公司网站进不去防晒霜营销软文