-(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编程的新手。我已经尝试了上面的代码来验证用户名和密码,同时用户将输入。我不知道如何使用textFieldDidChange
和forControlEvents:UIControlEventEditingChanged
.我只是想让我的登录页面更安全、更高效。如果我键入正确的值或错误的值,控件将转到下一页。如何验证?
在类中,您需要从文本字段导入委托。
@interface ClassName : UIViewController <UITextFieldDelegate>
将textFieldDidChange
函数放在函数select
之外。
最后,您需要设置viewDidLoad
self.usertext1.delegate = self;
这应该足以从文本字段中获取更改。
您将始终使用委托来识别视图元素的更改或在未定义的时间发生的任何其他更改。