美文网首页
网络知识点复习

网络知识点复习

作者: 信徒_lh | 来源:发表于2016-01-04 20:55 被阅读67次
  • NSURLSessionConfiguration 对象可以保存公共设置,最好将该对象放入一个单例对象或者上下文环境中,使其全局可见
//创建默认配置对象
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
//设置请求头。
//config.HTTPAdditionalHeaders = @{@"apiKey":@"nil"};
//还可以设置无痕配置,以及后台运行的配置等等。可以根据自己需求配置
//配置设置完成后用配置对象创建会话对象,此处的委托可以通过回调其协议里的方法处理响应的事件(发生错误,后台传输完成,身份验证等)。
NSURLSession *session = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:nil];
  • 联网
//1.通过字符串(网址)创建统一资源定位符
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com";
//2.用统一资源富创建网络请求
NSRequest *req = [NSRequest requestWithURL:url cachePolicy:0 timeOutInterval:5];
//3.用会话对象的单例模式创建网络请求会话
NSURLSession *session = [NSURLSession sharedSession];
//4.通过会话创建一个获得数据的任务
    NSURLSessionDataTask *task = [session dataTaskWithRequest:req completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
        if (!error) {
            NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:1 error:nil];
            for (NSDictionary *albumDict in dict[@"albums"]) {
                //通过YYModel将字典装成模型对象
                LHModel *model =[LHModel yy_modelWithDictionary:albumDict];
                [dataArray addObject:model];
            }
            //模型对象准备就绪后刷新表格视图
            //苹果官方规定:刷新界面的代码要再主线程中执行
            //否则界面可能无法刷新 因此下面的代码要回到主线程执行
            //写法一: GCD 异步派发(将代码发配到主线程中执行)
            //dispatch_async(dispatch_get_main_queue(), ^{
            //    [myTableView reloadData];
            //});
            //写法二:NSOperation和NSOperationQueue  操作队列
            //创建一个操作对象封装要执行的代码
            NSOperation *op = [NSBlockOperation blockOperationWithBlock:^{
                [myTableView reloadData];
            }];
            //将操作放到主队列(主队列中的操作在主线程中执行)中执行
            [[NSOperationQueue mainQueue] addOperation:op];
        }
        else{
            NSLog(@"error = %@",error);
        }
    }];
//将任务挂起、暂停、取消(suspend cancel);
[task resume];
  • 网络中常用的对字符串操作的方法
    • 有时统一资源定位符可能会出现中文参数需将中文字符转换为百分号编码的字符
[NSString stringWithByAddingPrecentEscapesUsingEncoding:NSUTF8StringEncoding];
  • 在输入密码、账号等操作时可能需要去掉字符串两边的空格字符
[NSString stringByTrimmingCharacterInset:[NSCharacterInset whitespaceCharacterInset]];
  • 追加、重组、截取等就不在此一一举例了
  • 单例的创建以及用单例保存全局变量
    • 1.废除原有的初始化方法。
      -(instancetype) init {
      @throw [NSException exceptionWithName:@"" reason:@"不能调用init方法初始化CDUserManager对象" userInfo:nil];
      }
      //str 为需要放入单例中的变量。
      -(instancetype) initPrivate {
      if (self = [super init]) {
      _str = [NSString string];
      }
      return self;
      }
    • 2.用私有的初始化方式创建对象
      +(instancetype) sharedUser {
      static LHSharedUser *user = nil;
      @synchronized (self) {
      if (!user) {
      user = [[self alloc] initPrivate];
      }
      }
      return user;
      }

相关文章

  • 网络知识点复习

    NSURLSessionConfiguration 对象可以保存公共设置,最好将该对象放入一个单例对象或者上下文...

  • 复习备考(一)

    注重展示交流,提升课堂效率。上好两种课:知识点复习课、习题讲评课。 知识点复习课,使学生构建学科知识网络,逐步形成...

  • Java并发知识点快速复习手册(下)

    前言 本文快速回顾了常考的的知识点,用作面试复习,事半功倍。 面试知识点复习手册 已发布知识点复习手册 Java基...

  • 无标题文章

    综和复习本月知识点总结: 一:微信小程序 二:vue复习 三:js复习 四:新知识点 一:微信小程序知识点总结 开...

  • 2022年11月复习《独立思考》

    复习模板 日期: 分享者: 复习课程和知识点: 对知识点的理解(用你自己的话表达): 知识点的适用(使用)场景: ...

  • 复习《高难度沟通》课程

    复习模板: 日期: 分享者: 复习章节: 个人对知识点的理解: 知识点适用场景(事例说明): 可以链接的其他知识点...

  • iOS复习中有关SDWebImage可能知识点总结

    iOS复习中有关SDWebImage可能知识点总结 iOS复习中有关SDWebImage可能知识点总结

  • 2022年6月复习《独立思考》

    复习模板 复习知识点:日期:分享者:对知识点的理解(用你自己的话表达):知识点的适用(使用)场景:可以链接哪些知识...

  • Java容器(List、Set、Map)知识点快速复习手册

    前言 本文快速回顾了Java中容器的知识点,用作面试复习,事半功倍。 其它知识点复习手册 Java基础知识点面试手...

  • 备考复习应注重反馈与反思

    每逢备考复习的过程中,首轮复习大多都注重相关概念及知识点、考点的复习,记熟、记清相关的知识点考点是非常必要...

网友评论

      本文标题:网络知识点复习

      本文链接:https://www.haomeiwen.com/subject/iwrahttx.html