我有一个登录部分,用户可以使用他们的用户名和密码登录。应用程序中提供了一个创建帐户选项。
当用户名和密码成功验证时,url返回用户详细信息的数组,如果验证失败则会出现错误代码(错误404)。
我从网址得到了正确的回复,但我的需要是,当带有错误代码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];
如果登录不成功,它将不会导航到Parallelviewcontroller页面。结果字符串是我从url天气成功或不成功获得的字符串。 这该怎么做? 提前谢谢。
答案 0 :(得分:0)
全局声明resultString。实现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];
}
希望这对你有用。
答案 1 :(得分:0)
1路> 你可以用字符串中的代码获取html文件,这样你就可以从prsing中获取错误..然后你可以检查错误信息并浏览你的页面。
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条件的帮助下轻松提供条件。