如有必要,我想显示登录对话框和登录错误对话框。
我使用 UIAlertView 来显示这些对话,但在显示 UIAlertView 时进程会继续运行。
我在下面写了一个代码。现在 NSUserDefaults 不保留这些值,所以我预计会显示登录对话框并等到按钮被点击。
但是当运行它时,会显示错误对话框,然后点击 OK 后,会显示登录对话框。
我怎样才能解决这个问题?
提前致谢。
- (void)storeEvernote
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
evID = [defaults stringForKey:@"evID"];
evPW = [defaults stringForKey:@"evPW"];
NSLog(@"%@", evID);
if( evID == NULL || evPW == NULL )
{
login = true;
[self showLoginDialogue];
}
else
{
evernoteID = evID;
evernotePW = evPW;
}
if( evernoteID == NULL || evernotePW == NULL )
{
login = false;
[self showErrMessage];
return;
}
[self getEvernoteNotebooks];
}
- (void)showLoginDialogue
{
UIAlertView *loginDialogue = [[UIAlertView alloc] initWithTitle:@"Evernote Login" message:@"Enter your Evernote Info" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:@"Login", nil];
loginDialogue.delegate = self;
loginDialogue.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;
[loginDialogue show];
}
- (void)showErrMessage
{
UIAlertView *loginalert = [[UIAlertView alloc] initWithTitle:@"Login Failure" message:@"Invalid ID & Password" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
[loginalert show];
}