Rin*_*ain 4 iphone xcode objective-c asihttprequest
我一直在使用ASIHTTPRequest来获取数据,我想取消请求我是怎么做到的?我像这样做代码..
-(void) serachData{
NSURL *url= [NSURL URLWithString:self.safestring];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setTimeOutSeconds:7200];
[request setDelegate:self];
[request startAsynchronous];
}
- (NSMutableDictionary *)requestFinished:(ASIHTTPRequest *)request
{
NSLog(@"requestFinished");
NSString *responseString = [request responseString];
SBJsonParser *json = [[SBJsonParser alloc] init];
NSMutableArray *array = [[NSMutableArray alloc] initWithObjects[jsonobjectWithString:responseString], nil];
NSLog(@"array %@",array);
}
- (void)requestFailed:(ASIHTTPRequest *)request{
NSLog(@"requestFailed");
}
Run Code Online (Sandbox Code Playgroud)
//如果我按下取消按钮(当进程中的requestFinished/requestFailed方法时)则ASIHTTPRequest失败并完成方法停止/中止!我怎么做的?
-(IBAction)CancleREquest:(id)sender{
NSLog(@"CancleREquest");
}
Run Code Online (Sandbox Code Playgroud)
您的取消特定ASIHTTPRequest然后:
if(![yourASIHTTPRequest isCancelled])
{
// Cancels an asynchronous request
[yourASIHTTPRequest cancel];
// Cancels an asynchronous request, clearing all delegates and blocks first
[yourASIHTTPRequest clearDelegatesAndCancel];
}
Run Code Online (Sandbox Code Playgroud)
注意:要取消所有 ASIHTTPRequest,请:
for (ASIHTTPRequest *request in ASIHTTPRequest.sharedQueue.operations)
{
if(![request isCancelled])
{
[request cancel];
[request setDelegate:nil];
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:使用AFNetworking,ASIHTTPRequest因为自2011年3月以来尚未更新.
好简单版:
for (ASIHTTPRequest *request in ASIHTTPRequest.sharedQueue.operations){
[request cancel];
[request setDelegate:nil];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4436 次 |
| 最近记录: |