必要に応じて、ログインダイアログとログインエラーダイアログを表示したい。
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];
}