博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 网络请求判断连接和状态码
阅读量:4289 次
发布时间:2019-05-27

本文共 900 字,大约阅读时间需要 3 分钟。

    NSURL *url = [NSURLURLWithString:@"http://news.coolban.com";

   [NSURLConnectionsendAsynchronousRequest:requestqueue:[NSOperationQueuemainQueue] completionHandler:^(NSURLResponse *_Nullable response,NSData *_Nullable data,NSError *_Nullable connectionError) {

        

        //连接错误

        if(connectionError){

            errorBlock();

//            NSLog(@"%@",connectionError);

            return;

        }

        

        //得到状态码

        //判断状态码是200或者304就是成功

        NSHTTPURLResponse *httpResponse =  (NSHTTPURLResponse *)response;

        if(httpResponse.statusCode ==200 || httpResponse.statusCode ==304){

            //访问成功

            //json反序列化

            id result =  [NSJSONSerializationJSONObjectWithData:data options:0 error:NULL];

            

            NSMutableArray *mArray = [NSMutableArrayarray];

            //遍历array

            [result enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx,BOOL * _Nonnull stop) {

                CZNews *news = [CZNewsnewsWithDictionary:obj];

                [mArray addObject:news];

            }];

            

            sucessBlock(mArray.copy);

            

        }else{

            errorBlock();

//            NSLog(@"服务器错误");

        }

        

    }];

转载地址:http://pelgi.baihongyu.com/

你可能感兴趣的文章
Velocity初探小结--velocity使用语法详解
查看>>
设计模式学习 - Singleton Pattern
查看>>
学习Spring——依赖注入
查看>>
CSS3 transform 属性详解
查看>>
Java对象内存结构及大小计算
查看>>
Spring MVC注解的一些案列
查看>>
Web大文件断点续传,快来看看吧!
查看>>
javascript高级编程3第二章:在html中使用javascript
查看>>
Android中热修复框架AndFix原理解析及案例使用
查看>>
手写代码实现EventBus
查看>>
关于JSON的相关知识
查看>>
SpringMVC基础_常用注解
查看>>
Spring框架-IOC容器和Bean的配置(1)
查看>>
查询内容在网页里面分页显示+跳页查看
查看>>
mysql substring函数截取值后赋给一个declare变量
查看>>
Java Thread 的 sleep() 和 wait() 的区别
查看>>
DbUtils入门
查看>>
每一个程序员需要了解的10个Linux命令
查看>>
service的自调用 VS service之间调用
查看>>
Android权限管理之Permission权限机制及使用
查看>>