私は2つのページを持っています:
ログインページとサインアップページ:
ログインページでは、以下を使用して情報を取得し、失敗または成功の応答をユーザーに渡します。
- (void)login:(UIButton *)sender
{
[self.appDel.api loginWithEmail:self.email.text
password:self.password.text
completionHandler:^(id response, NSError *error) {
if (error) {
NSLog(@"ERROR: %@", error);
} else {
if ([[response objectForKey:Status] isEqualToString:Success]) {
self.currentUser = [response objectForKey:kResponseUser];
self.currentUserProfile = [response objectForKey:Profile];
[self.presentingViewController dismissViewControllerAnimated:YES completion:NULL];
} else {
NSLog(@"FAIL: %@", response);
[[[UIAlertView alloc] initWithTitle:@"Login Failed"
message:[response description]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil] show];
}
}
}];
}
ログインページにこれを使用して、ユーザーが2つの必要なtexfieldを入力しないか、一方をもう一方を空にしてログインを押すと、失敗メッセージが表示されます。
ただし、サインアップの場合、テキストフィールドが空のときにプログラムがクラッシュし、サインアップをクリックします。これをどのように変更すればよいですか:
-(void)signUp:(UIButton *)sender
{
[self.api signup:self.Email.text
password:self.Password.text
confirmationPassword:self.ConfirmPassword.text
firstName:self.FirstName.text
completionHandler:^(id response, NSError *error) {
if (error) {
NSLog(@"ERROR: %@", error);
} else {
if ([[response objectForKey:Status] isEqualToString:Success]) {
self.appDel.theNewUser = [response objectForKey:User];
self.appDel.theNewUserProfile = [response objectForKey:Profile];
[self.presentingViewController dismissViewControllerAnimated:YES completion:NULL];
} else {
NSLog(@"FAIL: %@", response);
[[[UIAlertView alloc] initWithTitle:@"SignUp Failed"
message:[response description]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil] show];
}
}
}];
}