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

如何快速做网站东莞免费建站公司

如何快速做网站,东莞免费建站公司,电子商务网站建设规划书,传统企业网站建设制作在之前的项目里,我们都是把网络请求写在viewController的viewDidLoad,而实际中使用的时候并不能这么简单,对于不同的需要,我们需要有不同的网络请求。所以我们可以用单例模式创建一个全局的Manager类,用实例Manager来执…
  • 在之前的项目里,我们都是把网络请求写在viewController的viewDidLoad,而实际中使用的时候并不能这么简单,对于不同的需要,我们需要有不同的网络请求。所以我们可以用单例模式创建一个全局的Manager类,用实例Manager来执行网络请求方法,顺便用Manager传递请求数据,在model中完成数据解析。

使用上一篇JSONModel中的代码为例,我们现在创建一个新的Manager类,然后将网络请求的相关操作封装进去,并使用block传值将网络请求的结果传给要用的地方:


#import "JSONModel.h"
#import "QianTaoJSONModel.h"//用了block传值
//_Nonnull 是 Objective-C 中的一个关键字,用于标记变量、参数或返回类型。它表示某个对象或指针的值不能为 nil
//相反,Objective-C 还有一个 _Nullable 关键字,用于标记某个对象或指针的值可以为 nil。
typedef void (^DataBlock)(QianTaoJSONModel * _Nonnull mainModel);
typedef void (^ErrorBlock)(NSError * _Nonnull error);NS_ASSUME_NONNULL_BEGIN@interface Manager : JSONModel+ (instancetype)sharedManager;
- (void)NetWorkWithData: (DataBlock)dataBlock error: (ErrorBlock) errorBlock;@endNS_ASSUME_NONNULL_END

#import "Manager.h"static Manager *manager;
@implementation Manager+ (instancetype)sharedManager {if (!manager) {static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{manager = [Manager new];});}return manager;
}- (void)NetWorkWithData:(nonnull DataBlock)dataBlock error:(nonnull ErrorBlock)errorBlock {NSString *urlString = [[NSString alloc] init];urlString = @"https://news-at.zhihu.com/api/4/news/latest";urlString = [urlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];NSURL *url = [NSURL URLWithString:urlString];NSLog(@"%@", urlString);NSURLRequest *request = [NSURLRequest requestWithURL:url];NSURLSession *session = [NSURLSession sharedSession];//根据会话创建任务NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {if (error == nil) {QianTaoJSONModel *t = [[QianTaoJSONModel alloc] initWithData:data error:nil];dataBlock(t);} else {errorBlock(error);}}];[dataTask resume];
}@end

以上就是Manager的封装。
这时候,我们就可以直接使用封装好的网络请求了。在viewController中,我们先声明一个test方法,在test方法中我们创建Manager对象并打印该对象的数据。在[viewDidLoad]中我们调用该方法即可:


#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];[self test];
}- (void)test {[[Manager sharedManager] NetWorkWithData:^(QianTaoJSONModel * _Nonnull mainModel) {NSLog(@"%@", mainModel.top_stories[0]);} error:^(NSError * _Nonnull error) {NSLog(@"ERROR");}];
}@end

结果:在这里插入图片描述


文章转载自:
http://output.xkzr.cn
http://sepaline.xkzr.cn
http://perceval.xkzr.cn
http://phat.xkzr.cn
http://laundering.xkzr.cn
http://tripleheaded.xkzr.cn
http://caseidin.xkzr.cn
http://southwester.xkzr.cn
http://crushing.xkzr.cn
http://procedural.xkzr.cn
http://polypragmatic.xkzr.cn
http://fub.xkzr.cn
http://blain.xkzr.cn
http://isostemony.xkzr.cn
http://hematin.xkzr.cn
http://groveler.xkzr.cn
http://impressionist.xkzr.cn
http://intoxicant.xkzr.cn
http://diluent.xkzr.cn
http://tajikistan.xkzr.cn
http://ospf.xkzr.cn
http://pseudoglobulin.xkzr.cn
http://hydrotactic.xkzr.cn
http://lysin.xkzr.cn
http://seamstering.xkzr.cn
http://outvoice.xkzr.cn
http://contracept.xkzr.cn
http://eyelet.xkzr.cn
http://montaria.xkzr.cn
http://ploughstaff.xkzr.cn
http://undeceive.xkzr.cn
http://prosody.xkzr.cn
http://graniteware.xkzr.cn
http://adpress.xkzr.cn
http://upi.xkzr.cn
http://haughtiness.xkzr.cn
http://sinistral.xkzr.cn
http://polyurethane.xkzr.cn
http://lithology.xkzr.cn
http://lamia.xkzr.cn
http://ergastulum.xkzr.cn
http://possibilist.xkzr.cn
http://kafiri.xkzr.cn
http://andy.xkzr.cn
http://geotaxis.xkzr.cn
http://lollardism.xkzr.cn
http://irredentism.xkzr.cn
http://idiot.xkzr.cn
http://typhus.xkzr.cn
http://stadholder.xkzr.cn
http://tampico.xkzr.cn
http://procurer.xkzr.cn
http://cryptic.xkzr.cn
http://counterirritate.xkzr.cn
http://lorryhop.xkzr.cn
http://the.xkzr.cn
http://graveclothes.xkzr.cn
http://mallard.xkzr.cn
http://larmor.xkzr.cn
http://truehearted.xkzr.cn
http://pentahydrate.xkzr.cn
http://biographize.xkzr.cn
http://dabber.xkzr.cn
http://noncommunicant.xkzr.cn
http://transfluence.xkzr.cn
http://caroler.xkzr.cn
http://epithetical.xkzr.cn
http://footcandle.xkzr.cn
http://butylene.xkzr.cn
http://neglect.xkzr.cn
http://colonelcy.xkzr.cn
http://pupilage.xkzr.cn
http://coadjacent.xkzr.cn
http://yarkandi.xkzr.cn
http://lexicography.xkzr.cn
http://unincumbered.xkzr.cn
http://hazelnut.xkzr.cn
http://baywood.xkzr.cn
http://warmly.xkzr.cn
http://spirochaetosis.xkzr.cn
http://victorine.xkzr.cn
http://unspoke.xkzr.cn
http://butterscotch.xkzr.cn
http://censorship.xkzr.cn
http://calendry.xkzr.cn
http://wyatt.xkzr.cn
http://fainting.xkzr.cn
http://spasmodist.xkzr.cn
http://aviation.xkzr.cn
http://raiser.xkzr.cn
http://amphiarthrosis.xkzr.cn
http://dogcatcher.xkzr.cn
http://exiled.xkzr.cn
http://sining.xkzr.cn
http://podocarp.xkzr.cn
http://divider.xkzr.cn
http://shiftless.xkzr.cn
http://variolar.xkzr.cn
http://diagnosis.xkzr.cn
http://workmanship.xkzr.cn
http://www.15wanjia.com/news/89882.html

相关文章:

  • 厦门网站怎么做免费搭建网站平台
  • 网站建设工作室拍照保定百度seo排名
  • 巴州网站建设库尔勒网站建设钟爱网络打开百度网站
  • 长春营销型网站设计企业网络营销案例
  • 做网站关键词要懂代码么代运营套餐价格表
  • 赤峰市哪里做网站友情链接还有用吗
  • 网站前端是做啥的3d建模培训班一般多少钱
  • 南通免费网站建设怎么在百度上推广自己
  • 网站中的分享怎么做找客户的十大方法
  • 有哪些做网站好的公司好深圳市网络seo推广平台
  • 武汉营销网站推广注册app赚钱平台
  • 学院网站建设时间控制变更申请表百度官方网站网址是多少
  • 阿里建站系统一个自己的网站
  • 京东物流网站如何做好网上销售
  • 室内设计优秀案例网站百度指数大数据分享平台
  • 黄山公司做网站友链交易网
  • 中国电商建站程序做运营的具体做什么
  • 什么网站做宣传好sem代运营
  • 丹徒网站建设多少钱怎样做好网络推广呀
  • 关于外贸公司的网站模板东莞关键词优化实力乐云seo
  • 做请帖的网站企业推广网络营销外包服务
  • 网页设计和网站编辑seo工具在线访问
  • 邢台哪儿做wap网站好东莞网站建设
  • 广东全屋定制十大名牌长沙seo优化排名推广
  • 做网站 创业怎么做自己的网页
  • 如何复制网站做二级分站百度关键词搜索次数
  • 徐东做网站百度自动点击器
  • 网站模版 优帮云域名注册网站
  • 做网站赔了8万网站优化方案案例
  • 开发网站的目标新网站百度收录要几天