如何使用 Objective C 使用 textFieldDidChange 验证用户名和密码?

How to validate a username and password using textFieldDidChange using Objective C?

-(void)select
{

    NSString *sql1= [NSString stringWithFormat:@"SELECT * FROM sample"];

    sqlite3_stmt *statement;
    if( sqlite3_prepare_v2(db, [sql1 UTF8String], -1, &statement, NULL) == SQLITE_OK )
    {
        while( sqlite3_step(statement) == SQLITE_ROW )
        {

            char *field1=(char *)sqlite3_column_text(statement,0 );
            NSString *field1Str=[[NSString alloc]initWithUTF8String:field1];
            NSLog(@"The string value is %@ ",field1Str);
            char *field2=(char *)sqlite3_column_text(statement,1 );
            NSString *field2Str=[[NSString alloc]initWithUTF8String:field2];
            NSLog(@"The string value is %@ ",field2Str);
            [self.usertext1 addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];

            -(void)textFieldDidChange :(UITextField *)_usertext1{

            if([_usertext1.text isEqualToString:field1Str]&&[_passtext2.text isEqualToString:field2Str])
            {
                _outbutton.enabled="YES";            }
            else
            {
                _outbutton.enabled="NO";
            }                
        }
    }}    
}

我是 iOS 编程新手。我已经尝试了上面的代码来在用户输入时验证用户名和密码。我不知道如何使用 textFieldDidChangeforControlEvents:UIControlEventEditingChanged。我只是想让我的登录页面更加安全和高效。如果我键入正确的值或错误的值,控件将转到下一页。我该如何验证?

在您 class 中,您需要从文本字段导入委托。

@interface ClassName : UIViewController <UITextFieldDelegate>

textFieldDidChange函数放在函数select之外。

最后 viewDidLoad 您需要设置 self.usertext1.delegate = self; 这应该足以从您的文本字段中获取更改。

您将始终使用 Delegate 来识别视图元素的更改或在未定义的时间发生的任何其他事情。