我创建了登录页面include(用户名和密码以及登录按钮)
我想在何时填写文本字段用户名和密码,如果正确的用户和密码在另一页上,如果错误则给我一个提醒。
这是我的代码:
#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;
}
}
但是很有效!我只想要合适的用户和密码转到下一页
答案 0 :(得分:3)
您必须使无触发segue执行此操作。从故事板中进行无触发的segue,并在用户名和密码正确时触发它。
要创建无触发segue,请从场景底部的场景底座中的包含视图控制器图标开始控制+拖动segue。像往常一样拖动到目标场景,然后选择segue类型。选择segue,然后在检查器中选择segue标识符。
然后调用方法[self performSegueWithIdentifier:@“Identifier”sender:nil]; 当你的条件成立时
答案 1 :(得分:0)
如果你想使用segues我认为你错过了在你设置名字的行之后实际执行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;
}
}
答案 2 :(得分:0)
此处AuditViewController是segue name
你需要在故事板中调用这样的类
[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;
}
}