ASIHTTPRequest一个实例

转载 2012年03月24日 10:46:12

ASIHTTPRequest用法不多介绍,网上一堆,实例如图

1 #import <UIKit/UIKit.h>
2 #import "MainView.h"
3 
4 @interface AppDelegate : UIResponder <UIApplicationDelegate>
5 
6 @property (strong, nonatomic) UIWindow *window;
7 @property (strong, retain) MainView *viewController;
8 
9 @end
 1 - (void)dealloc
 2 {
 3     [_window release];
 4     [_viewController release];
 5     [super dealloc];
 6 }
 7 
 8 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 9 {
10     CGRect screenBounds=[[UIScreen mainScreen]applicationFrame];
11     CGRect windowBounds=screenBounds;
12     windowBounds.origin.y=0;
13     self.window = [[[UIWindow alloc] initWithFrame:screenBounds] autorelease];
14     // Override point for customization after application launch.
15     self.viewController=[[MainView alloc]initWithFrame:windowBounds];
16     self.window.backgroundColor = [UIColor whiteColor];
17     [self.window addSubview: self.viewController];
18     [self.window makeKeyAndVisible];
19     return YES;
20 }
 1 #import <UIKit/UIKit.h>
 2 #import "ASIHTTPRequest.h"
 3 
 4 @interface MainView : UIView
 5 {
 6     UIButton *btn1;
 7     NSOperationQueue *queue;
 8     ASIHTTPRequest *request;
 9     UIProgressView *progressView;
10 }
11 
12 - (IBAction)grabURL:(id)sender;
13 
14 @end
  1 #import "MainVIew.h"
  2 
  3 @implementation MainView
  4 
  5 - (id)initWithFrame:(CGRect)frame
  6 {
  7     self = [super initWithFrame:frame];
  8     if (self) {
  9         //队列
 10         queue = [[NSOperationQueue alloc] init];
 11         
 12         btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
 13         [btn1 setFrame:CGRectMake(50, 50, 100, 50)];
 14         [btn1 setTitle:@"下载" forState:UIControlStateNormal];
 15         
 16         btn1.titleLabel.font = [UIFont boldSystemFontOfSize:14];
 17         btn1.titleEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 16);
 18         [btn1 addTarget:self
 19                              action:@selector(grabURLInTheBackground:)
 20                    forControlEvents:UIControlEventTouchUpInside];    
 21         //进度条
 22         progressView = [[UIProgressView alloc] initWithFrame:CGRectMake(0.0f, 40.0f, 220.0f, 90.0f)];
 23         [progressView setProgressViewStyle: UIProgressViewStyleDefault];
 24         
 25         [self addSubview:btn1];
 26         [self addSubview:progressView];
 27     }
 28     return self;
 29 }
 30 
 31 -(void) dealloc
 32 {
 33     [request clearDelegatesAndCancel];
 34     [request release];
 35     request = nil;
 36     [progressView release];
 37     [queue release];
 38     [btn1 release];
 39     [super dealloc];
 40 }
 41 
 42 //多线程异步
 43 - (IBAction)grabURLInTheBackground:(id)sender
 44 {
 45     
 46     NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
 47     request = [ASIHTTPRequest requestWithURL:url];
 48     [request setDelegate:self];
 49     [request setDidFinishSelector:@selector(requestDone:)];
 50     [request setDidFailSelector:@selector(requestWentWrong:)];
 51     [request setDownloadProgressDelegate:progressView];
 52     [queue addOperation:request];
 53     
 54 }
 55 
 56 - (void)requestDone:(ASIHTTPRequest *)request
 57 {
 58     NSString *responseString = [request responseString];
 59     NSLog(@"responseString=%@",responseString);
 60 }
 61 
 62 - (void)requestWentWrong:(ASIHTTPRequest *)request
 63 {
 64     NSError *error = [request error];
 65 }
 66 
 67 //异步
 68 - (IBAction)grabURLInBackground:(id)sender
 69 {
 70     
 71     NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
 72     
 73     request= [ASIHTTPRequest requestWithURL:url];
 74     
 75     [request setDelegate:self];
 76     
 77     [request startAsynchronous];
 78     
 79 }
 80 
 81 - (void)requestFinished:(ASIHTTPRequest *)request
 82 {
 83     // 当以文本形式读取返回内容时用这个方法
 84     NSString *responseString = [request responseString];
 85     
 86     // 当以二进制形式读取返回内容时用这个方法
 87     NSData *responseData = [request responseData];
 88     
 89     NSLog(@"responseString=%@",responseString);
 90     
 91     [responseString autorelease];
 92     [responseData autorelease];
 93 
 94     
 95 }
 96 
 97 - (void)requestFailed:(ASIHTTPRequest *)request
 98 {
 99     
100     NSError *error = [request error];
101     [error autorelease];
102     
103 }
104 
105 //同步
106 - (IBAction)grabURL:(id)sender
107 {
108     NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
109     
110     request = [ASIHTTPRequest requestWithURL:url];
111     
112     [request startSynchronous];
113     
114     NSError *error = [request error];
115     
116     if (!error) {
117         
118         NSString *response = [request responseString];
119         NSLog(@"response=%@",response);
120         
121     }
122     
123 }
124 
125 @end
from:http://www.cnblogs.com/pengyingh/articles/2354270.html


相关文章推荐

ASIHTTPRequest类库简介和使用说明 加 一些实例

官方网站: http://allseeing-i.com/ASIHTTPRequest/ 。可以从上面下载到最新源码,以及获取到相关的资料。 使用iOS SDK中的HTTP网络请求API,相当的复杂...
  • ssihc0
  • ssihc0
  • 2011-11-23 12:26
  • 5523

利用ASIHttpRequest实现一个简单的登录验证

【原文地址:http://blog.csdn.net/toss156/article/details/7638529】 今天给大家带来一个简单的登陆验证,用的是ASIHttpRequ...

【IOS】利用ASIHTTPRequest 实现一个简单的登陆验证

【原创作品, 欢迎转载,转载请在明显处注明! 谢谢。         原文地址:http://blog.csdn.net/toss156/article/details/7638529】 ...

【IOS】利用ASIHTTPRequest 实现一个简单的登陆验证

【原创作品, 欢迎转载,转载请在明显处注明! 谢谢。         原文地址:http://blog.csdn.net/toss156/article/details/7638529】 ...

AIDL实例:当服务端有新书到来时,就通知每一个已经申请提醒功能的用户

功能简介:当服务端有新书到来时,就通知每一个已经申请提醒功能的用户 Book实体类package com.example.test1.aidl;import android.os.Parcel; i...

XML初解与一个包含实例

今天的主要内容是XML。 首先我们先来了解一下什么是XML:       Extensible Markup Language,翻译过来为可扩展标记语言。Xml技术是w3c组织发布的,目前推荐遵循...

一个设置访问权限的实例

一、目录结构: 二、编写页面: 三、servlet 四、filter 五、xml

一个ALV(OO)的实例

个人感觉还是OO的方法较简单容易理解。这个实例,包含了grid形式全屏显示, list显示 和 grid在容器里显示的三种情况。 实例需要定义一个screen 0100 ,包含一个名为 ‘CONTA...

笔记2-----创建一个java实例对象的方法

5种方式:  1.new 2.反射newInstance 3.克隆clone 4.序列化Serializable 5.使用Spring的DI 例子如下 1.new 通常都是使用...

一个jboss启动多个实例

今天终于自己总结一点东西,于是就分享出来,希望大家多多指正             jboss个人理解是这样的: 一个jboss的实例相当于一个tomcat   ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)