2

我创建登录页面包括(用户名和密码和登录按钮)

如果正确的用户和密码进入另一页,我想何时填写文本字段用户名和密码,如果错误,请给我一个警报。

这是我的代码:

#import "Detail.h"

@implementation ViewController
{
    NSString *name;
}
@synthesize Username,Password;

- (void)viewDidLoad
{
    [super viewDidLoad];
}


- (IBAction)Login:(id)sender {

    NSString *a = [[NSString alloc]initWithFormat:@"http://192.168.1.102/mamal/login.php?u=%@&p=%@",Username.text,Password.text];
    NSString *url = [[NSString alloc]initWithContentsOfURL:[NSURL URLWithString:a]];
    NSLog(@"%@",url);
    if ([url isEqualToString:@"0"]) //this is wrong user & password
    {
        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"ERROR" message:@"WRONG" delegate:nil cancelButtonTitle:@"Dissmis" otherButtonTitles: nil];
        [alert show];
    }
    else
    {
        name = @"Mohammad";
    }
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([name isEqualToString:@"Mohammad"] , [[segue identifier] isEqualToString:@"Segue"]) {
        Detail *det = segue.destinationViewController;
    }
}

但是工作!我只需要正确的用户名和密码进入下一页

4

3 回答 3

3

您必须进行无触发的 segue 才能执行此操作。从情节提要中进行无触发转场,并在您的用户名和密码正确时触发它。

要创建无触发转场,请从场景底部场景停靠栏中的包含视图控制器图标开始控制并拖动转场。像往常一样拖动到目标场景,然后选择转场类型。选择 segue,然后在检查器中选择一个 segue 标识符。

然后调用方法 [self performSegueWithIdentifier:@"Identifier" sender:nil]; 当你的条件为真时

于 2013-04-11T11:44:22.950 回答
0

如果您想使用 segue,我认为您错过了在设置名称的行之后实际执行 segue 的调用

name = @"Mohammed"        
[self performSegueWithIdentifier:@"mySegue" sender:self]

作为“mySegue”你的故事板中的segue的标识符。

然后,您可能希望向新的 View Controller 发送名称。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"mySegue"]) {
        Detail *det = segue.destinationViewController;
        det.name = name;
    }
}
于 2013-04-11T10:18:55.080 回答
0

这里 AuditViewController 是 segue 名称

你需要在故事板中像这样调用类

[self performSegueWithIdentifier:@"AuditViewController" sender:self];

编辑

检查条件

- (IBAction)Login:(id)sender {

    NSString *a = [[NSString alloc]initWithFormat:@"http://192.168.1.102/mamal/login.php?u=%@&p=%@",Username.text,Password.text];
    NSString *url = [[NSString alloc]initWithContentsOfURL:[NSURL URLWithString:a]];
    NSLog(@"%@",url);
    if ([url isEqualToString:@"0"]) //this is wrong user & password
    {
        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"ERROR" message:@"WRONG" delegate:nil cancelButtonTitle:@"Dissmis" otherButtonTitles: nil];
        [alert show];
    }
    else
    {
        name = @"Mohammad";
        if([name isEqualToString:@"Mohammad"])
            [self performSegueWithIdentifier:@"Segue" sender:self];
        //else
            //NSLog(@"Can not Login");
    }
}

prepareForSegue方法调用

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"Segue"]) 
    {
        Detail *det = segue.destinationViewController;
    }
}
于 2013-04-11T10:18:58.267 回答