我想在我的模型类中使用 ASIHTTPRequest 或 ASIFormDataRequest。 如何委托(delegate)或检测请求状态,并返回值。
如:
我有一个具有 IBAction DoIt:sender 的 Controller 。我想调用 Connector->DoIt 并在连接成功或失败时回调我的 Controller 。
我该如何处理?
谢谢。
最佳答案
基于回调(来自 documentation ):
- (IBAction)grabURLInBackground:(id)sender
{
NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[request startAsynchronous];
}
- (void)requestFinished:(ASIHTTPRequest *)request
{
// Use when fetching text data
NSString *responseString = [request responseString];
// Use when fetching binary data
NSData *responseData = [request responseData];
}
- (void)requestFailed:(ASIHTTPRequest *)request
{
NSError *error = [request error];
}
基于 block :
- (IBAction)grabURLInBackground:(id)sender
{
NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
__block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setCompletionBlock:^{
// Use when fetching text data
NSString *responseString = [request responseString];
// Use when fetching binary data
NSData *responseData = [request responseData];
}];
[request setFailedBlock:^{
NSError *error = [request error];
}];
[request startAsynchronous];
}
关于ios - 模型类中的 ASIHTTPRequest 异步请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19535903/