iOS之ASIHttp简单的网络请求实现
描述:
ASIHttpRequest是应用第三方库的方法,利用代码快,减少代码量,提高效率 准备工作:
一、导入第三方库ASIHttpRequest
二、会报很多的错,原因有两个,一个是要导入Xcode中自带的四个文件,一个是他没有使用自动引用计数
三、解决方案 1.导入四个系统文件,分别是 MobileCoreServices.framework SystemConfiguration.framework
CFNetwork.framework libz.1.2.5.dylib 2.手动关掉自动引用计数 在工程的buide phase 中的 compile sources
中,将ASIHhttp类型的,点击后面,添加上-fno-objc-arc 3.运行一遍,就不会报错了 实现异步post请求
#import "ASIHTTPRequest.h"
- (void)viewDidLoad
{
[self requestHttp];
}
-(void)requestHttp
{
//1200792098331
//首先创建一个URL的对象
NSURL * url = [NSURL urlWithString:[NSString stringWithFormat:@"http://api.kuaidi100.com/api?id=d6b9888b0da96f6b&com=%@&nu=%@&show=0&muti=1&order=desc&display=mobile",name]];
NSURL * url =[NSURL URLWithString:[NSString stringWithFormat:@"http://api.kuaidi100.com/api?id=d6b9888b0da96f6b&com=%@&nu=%@&show=0&muti=1&order=desc&display=mobile"]];
NSLog(@"url======%@",url);
再创建一个请求对象
ASIHTTPRequest * request = [ASIHTTPRequest requestWithURL:url];
发送请求,并返回相应的JSon数据
[request setCompletionBlock:
^{
NSError * error = nil;
//创建一个字典,接收返回的JSON数据
NSDictionary * dictionary = [NSJSONSerialization JSONObjectWithData:request.responseData options:kNilOptions error:&error];
NSLog(@"%@",dictionary);
//创建一个数组,并将字典中的数据存放再数组中
NSArray * arr = [dictionary objectForKey:@"data"];
//将数组中的数据变例一下,并将变例后的数据存放在一个可变的数组中
for (NSDictionary * temp in arr)
{
[self.array addObject:[NSString stringWithFormat:@"%@ \n%@",[temp objectForKey:@"time"],[temp objectForKey:@"context"]]];
}
// 将变例后的可变数组中的数据以字符串的形势赋给一个可变字符串对象,同时变例字符串
for(NSString* temp in self.array)
{
[self.mutableString appendString:[NSString stringWithFormat:@"%@\n",temp]];
NSLog(@" temp==== %@",temp);
}
//我这里是将变例后的可变字符串赋给了一个lable
self.jieGuoLale.text = self.mutableString;
NSLog(@"self.jieGuoLale.text======%@",self.jieGuoLale.text);
}];
//如果请求发送失败,则调出警告框
[request setFailedBlock:
^{
UIAlertView * alerteView = [[UIAlertView alloc]initWithTitle:@"提示" message:@"问题警告:网络链接异常,请稍后再试" delegate:nil cancelButtonTitle:@"退出" otherButtonTitles: nil];
[alerteView show];
}];
//发送一个异步请求
[request startAsynchronous];
}
iOS之ASIHttp简单的网络请求实现的更多相关文章
- Xamarin.Android之封装个简单的网络请求类
一.前言 回忆到上篇 <Xamarin.Android再体验之简单的登录Demo> 做登录时,用的是GET的请求,还用的是同步, 于是现在将其简单的改写,做了个简单的封装,包含基于Http ...
- iOS中使用block进行网络请求回调
iOS中使用block进行网络请求回调 HttpRequest.h // // HttpRequest.h // UseBlockCallBack // // Created by Michael o ...
- IOS开发之自动布局显示网络请求内容
在上一篇博客中详细的介绍了IOS开发中的相对布局和绝对布局,随着手机屏幕尺寸的改变,在App开发中为了适应不同尺寸的手机屏幕,用自动布局来完成我们想要实现的功能和效果显得尤为重要.本人更喜欢使用相对布 ...
- Android 最早使用的简单的网络请求
下面是最早从事android开发的时候写的网络请求的代码,简单高效,对于理解http请求有帮助.直接上代码,不用解释,因为非常简单. import java.io.BufferedReader; im ...
- IOS 京东相关app 出现“网络请求失败,请检查您的网络设置”的解决办法
问题情况 在IOS系统下,下载安装或者更新新版的京东相关app之后,打开app直接就是“网络请求失败,请检查网络设置”,无论是数据连接还是wifi都试了,都是网络请求失败. 然而打开无线局域网-使用无 ...
- iOS 技术篇:如何处理多个网络请求的先后(依赖)关系
在开发过程中,不知你有没有碰到过在一个页面 用到了多个网络请求,而且根据业务需求,需要有次序的执行A B C 网络请求? 你可能会想到,我在A的请求成功回调里去处理B,在B的回调里去请求C,但你后来会 ...
- iOS中4种判断网络请求的方式(系统状态栏、AFNetworking、Reachability、自定义)
iOS 实时判断网络状态 方法一:利用系统状态栏判断网络状态 // 状态栏是由当前app控制的,首先获取当前app UIApplication *app = [UIApplication shared ...
- 解决ios开发中不合法的网络请求地址
NSString *const kWebsite = @"http://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct ...
- Java笔记7:最简单的网络请求Demo
一.服务器端 1 新建一个工程,建立一个名为MyRequest的工程. 2 FileàProject StructureàModulesà点击最右侧的“+”àLibraryàJava 找到Tomcat ...
随机推荐
- 【技术贴】Maven打包文件增加时间后缀
构建war包,或者jar包的,时候,maven会自动增加一个版本号和时间放在jar包后面比如poi-3.9-20131115.jar这样子,但是我自己打war包,总是给我生成一个快照的后缀report ...
- 移动应用产品开发-android开发(三)
历时一个多月的时间,这款APP算是开发完成了,最近在测试完善中,比较空闲好好总结下. 之前两次已经提到开发过程中的主要的知识点,这次主要总结下解决问题方法,http请求和安全. 首先讲下解决问题的方法 ...
- http://jinnianshilongnian.iteye.com/blog/1996071
http://jinnianshilongnian.iteye.com/blog/1996071 http://my.oschina.net/jkcui/blog/388400 http://tian ...
- 李洪强iOS开发Swift篇—04_运算符
李洪强iOS开发Swift篇—04_运算符 一.运算符 1.Swift所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运 ...
- 谈谈SpringMVC Validation
2016-10-12 19:26:08,897 [INFO ] [http-nio-8032-exec-1] HttpHeaderValidator:84 - HttpHeaderValidator. ...
- Makefile 自动生成依赖
虽然以前对Makefile有个基本概念,但是真正到自己去写一个哪怕是简单的Makefile时也会遇到不少的麻烦. 现在我有如下文件 dList.h dList.c memory.c debug. ...
- Uninstall Tool 3.3.2.5315 简体中文注册版(彻底卸载软件)
Uninstall Tool Uninstall Tool是CrystalIdea Software出品的一款强大而灵活的Windows标准“添加/删除程序”工具的替代软件.它能快速,安全而方便的删除 ...
- Power Strings
Power Strings TimeLimit: 1 Second MemoryLimit: 32 Megabyte Totalsubmit: 1791 Accepted: 528 Descr ...
- 搜狗一道java题目 关于对象 synchronized 关键字作用在 int, integer
第一次见到这个题目,我觉得自己没学到java,太浅了,其实这个问题没有考synchronized关键字,只是考什么是对象? 1.在java编程思想的第二章有一句话; 一切都是对象,很可惜int,c ...
- 神经网络中误差反向传播(back propagation)算法的工作原理
注意:版权所有,转载需注明出处. 神经网络,从大学时候就知道,后面上课的时候老师也讲过,但是感觉从来没有真正掌握,总是似是而非,比较模糊,好像懂,其实并不懂. 在开始推导之前,需要先做一些准备工作,推 ...