2017-06-10 14 views
-2
-(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"; 
      }     
     } 
    }}  
} 

Je suis nouveau à la programmation iOS. J'ai essayé ci-dessus le code pour valider le nom d'utilisateur et le mot de passe tandis que l'utilisateur tapera. Je ne sais pas comment utiliser textFieldDidChange et forControlEvents:UIControlEventEditingChanged. Je veux juste rendre ma page de connexion plus sûre et efficace. Si je tape des valeurs correctes ou une valeur incorrecte, le contrôle passe à la page suivante. Comment puis-je valider?Comment valider un nom d'utilisateur et un mot de passe en utilisant textFieldDidChange en utilisant Objective C?

Répondre

0

Dans votre classe, vous devrez importer le délégué à partir du champ de texte.

@interface ClassName : UIViewController <UITextFieldDelegate>

Mettez la fonction textFieldDidChange en dehors de la fonction select.

Et enfin sur viewDidLoad vous devez définir self.usertext1.delegate = self; cela devrait suffire pour obtenir les changements de votre champ de texte.

Vous utiliserez toujours Delegate pour identifier les modifications apportées aux éléments de la vue ou toute autre chose survenue dans un délai indéfini.