0
在google上搜索几小时后,我仍然无法找到关于此问题的单个主题:
1.如果用户没有互联网连接,我需要提供错误处理功能。
2.用户有互联网连接但无法连接到服务器。ios - 网络/互联网连接
我在哪里可以放这些?我尝试了一个主题,但没有显示警报视图消息。
这里是我的代码:
- (IBAction)getDataPressed
{
if([myRequest_ isExecuting])
{
return;
}
if(myRequest_ != nil)
{
[myRequest_ release];
}
myRequest_ = [[ASIHTTPRequest alloc]initWithURL:[NSURL URLWithString:URL_PATH]];
myRequest_.delegate = self;
[myRequest_ startAsynchronous];
}
#pragma ASI Delegate methods
- (void)requestFinished:(ASIHTTPRequest *)request
{
NSLog(@"Request finished successfully");
NSLog(@"%@",[request responseString]);
NSDictionary *responseDictionary = [[request responseString]JSONValue];
NSDictionary *arrayElement = [responseDictionary objectForKey:@"user"];
NSString *ID = [arrayElement valueForKeyPath:@"id"];
NSLog(@"id: %@",ID);
NSString *usr = [arrayElement valueForKeyPath:@"usr"];
NSLog(@"usr: %@",usr);
NSString *gd = [arrayElement valueForKeyPath:@"gd"];
NSLog(@"gd: %@",gd);
NSString *ag = [arrayElement valueForKeyPath:@"ag"];
NSLog(@"ag: %@",ag);
NSString *st = [arrayElement valueForKeyPath:@"st"];
NSLog(@"st: %@",st);
NSString *lf = [arrayElement valueForKeyPath:@"lf"];
NSLog(@"lf: %@",lf);
NSString *da = [arrayElement valueForKeyPath:@"da"];
NSLog(@"da: %d",da);
for(NSString *value in [arrayElement allValues]){
NSLog(@"Found Value %@",value);
label.text = [value stringByAppendingFormat:@",%@,%@,%@,%@,%@,%@,",ID,usr,gd,ag,st,lf];
}
}
- (void)requestFailed:(ASIHTTPRequest *)request
{
NSLog(@"Error %@", [request error]);
if([request error])
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Destination Unreachable" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[alert release];
}
}
-(void) dealloc
{
[super dealloc];
}
感谢那些谁可以帮助^ _^
即使使用ASIHTTPREQUEST即时使用NSURLConnection也可以吗? – NoobMe
我认为它应该以相同的方式工作(我也使用ASIHTTPRequest)。我认为他们有两种方法,一种是成功的,另一种是失败的。尽管我在成功方法上收到HTTP响应代码400。 – Peres
可以请你解释它更多先生..和哦,顺便说一句,当我试图在可达性执行之前,即使在控制台甚至不给予回应....如何 – NoobMe