2011-11-30 42 views
0

我有一个登录部分,用户可以用他们的用户名和密码登录。应用中有一个创建帐户选项。如何根据iPhone SDK中的url响应显示警报视图和操作?

当用户名和密码验证成功时,url返回用户详细信息数组,如果验证不成功,则会出现错误代码(错误404)。

我从url得到了正确的响应,但我的需求是,当警报视图带有或带有错误代码404响应时,它不应该导航到主页面。

我将如何设置条件。我的代码是

NSString *uname = _txtmemberId.text; 

      NSString *pwd = _txtpassword.text; 

      NSString *urlVal = @"http:example&var1="; 

      NSString *urlVal1 = [urlVal stringByAppendingString:uname]; 

      NSString *urlVal2 = [urlVal1 stringByAppendingString:@"&var2="]; 

      NSString *urlVal3 = [urlVal2 stringByAppendingString:pwd]; 



      NSString * encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(
                          NULL, 
                          (CFStringRef)urlVal3, 
                          NULL, 
                          (CFStringRef)@"\n" "", 

                          kCFStringEncodingUTF8); 


      NSURL *url = [NSURL URLWithString:encodedString]; 

      NSString *resultString = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; 

      UIAlertView *loginalert = [[UIAlertView alloc] initWithTitle:@" Message" message:resultString delegate:self 
                 cancelButtonTitle:@"OK" otherButtonTitles:nil]; 

      [loginalert show]; 

      [loginalert release]; 

      ParallelReadViewController *detailViewController = [[ParallelReadViewController alloc] initWithNibName:@"ParallelReadViewController" bundle:nil]; 

      //detailViewController.firstString = firstString; 
      // ... 
      // Pass the selected object to the new view controller. 

      [self.navigationController pushViewController:detailViewController animated:YES]; 

      [detailViewController release]; 

如果登录unsucessfull也不会浏览到Parallelviewcontroller page.Resultstring是我从URL天气SUCESSFUL或unsucessfull得到的字符串。 如何做到这一点? 在此先感谢。

回答

0

声明resultString globally.Implement UIAlertView中的委托方法

 - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
    { 
if(resultstring == 404) 
{ 
    status = YES; // declare globally 
} 
    } 

把一个检查条件推视图

if(status) 
{ 
ParallelReadViewController *detailViewController = [[ParallelReadViewController alloc] initWithNibName:@"ParallelReadViewController" bundle:nil]; 

      //detailViewController.firstString = firstString; 
      // ... 
      // Pass the selected object to the new view controller. 

      [self.navigationController pushViewController:detailViewController animated:YES]; 

      [detailViewController release]; 

} 

希望这项工作妳。

+0

haii,谢谢你的回答,然后我不明白上面提到的代码。我有一个名为resultstring的字符串,我想检查结果字符串,如果结果字符串是错误404,它将不能重定向到主页page.result字符串是json url – ICoder

+0

我已经更新了答案。用错误消息创建一个常量并将该常量与结果字符串进行比较。我希望现在清楚。 – iamsult

+0

resultString和status都必须全局声明。 – iamsult

0

1 way> 你可以用一个字符串得到这个代码的html文件,这样你就可以通过解析来获取错误信息。然后你可以检查错误信息并导航你的页面。

NSString *str = @"YOUR LINK"; 
    NSURL *url=[NSURL URLWithString:str]; 
    NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url]; 
    NSURLResponse *response; 
    NSError *error; 
    NSData *urlData = nil; 
    urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 

    NSString *serverOutput = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding]; 

    NSLog(@"%@",serverOutput); 
    [request release]; 

2路> 你可以告诉你的web服务开发者,提供有关未成功登录性反应,以便与该效应初探你可以很容易地给条件与if条件的帮助。

相关问题