0

UIAlertView を作成するメソッドを持ち、UIAlertView Delegate メソッドを実装する viewController クラス A と、ロギングとネットワークを処理するための NSObject モデル クラス B があります。クラスBで、Aクラスのインスタンスを割り当てただけで、Aのメソッドを呼び出します。アラートビューは正常に表示されましたが、[OK]ボタンをクリックすると、クラッシュしました。「OK」ボタンをクリックしてキーボードを再度開き、ユーザーが失敗した後もログインを続行できるようにします。(ヘッダー ファイルで UIAlertView プロトコルを宣言していました。)

ビューコントローラークラス A:

- (void)displayAlertViewString:(NSString *)string
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Login Failured!"
                                                    message:string
                                                   delegate:self
                                          cancelButtonTitle:nil
                                          otherButtonTitles:@"Ok", nil];
    [alert show];

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSString *title = [alertView buttonTitleAtIndex:buttonIndex];

    if ([title isEqualToString:@"Ok"])
    {
        //reopen the keyboard let user continue login.
        [self.passwordField becomeFirstResponder[;
    }

failure blockモデル クラス B では、 ofで display alert ビュー メソッドを呼び出しましたAFNetworking

failure:^(AFHTTPRequestOperation *operation, NSError *error){
        NSLog(@"%@", error);

        RDLoginViewController *loginViewController = [[RDLoginViewController alloc] init];

        [loginViewController displayAlertViewString:@"The entered email or password was incorrectly!"];

デバッガーには情報がありません。Xcode はスレッド ビューにとどまっています。誰でも私がそれを理解するのを手伝ってくれますか? ありがとう。

4

1 に答える 1