0

次のように、ViewDidLoad にある UIAlertView を作成しました。

    prompt = [[UIAlertView alloc] init];
    prompt.title = @"تسجيل الدخول";
    prompt.message = @"\n\n\n";
    prompt.delegate = self;
    [prompt addButtonWithTitle:@"الغاء"];
    [prompt addButtonWithTitle:@"دخول"];

    userNameTxtField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 50.0, 260.0, 25.0)];  
    [userNameTxtField setBackgroundColor:[UIColor whiteColor]]; 
    [userNameTxtField setPlaceholder:@"اسم المستخدم"]; 
    [prompt addSubview:userNameTxtField];

    passwordTxtField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 85.0, 260.0, 25.0)];  
    [passwordTxtField setBackgroundColor:[UIColor whiteColor]]; 
    [passwordTxtField setPlaceholder:@"كلمة المرور"]; 
    [passwordTxtField setSecureTextEntry:YES]; 
    [prompt addSubview:passwordTxtField];

    [prompt show];  
    //[prompt release];

    // set cursor and show keyboard 
    [userNameTxtField becomeFirstResponder];

clickedButtonAtIndex 関数は次のとおりです。

 -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex ==0) {
    NSLog(@"cancel");
}else {
    NSLog(@"will login isA");
}
}

しかし、ボタンをクリックすると、出力が表示され、アプリがクラッシュして次の例外が発生します。

   [MaktabatyTableViewController respondsToSelector:]: message sent to deallocated instance 0x894cfa0

何か助けて????

4

1 に答える 1

0

私はあなたのコードを試しました。あなたのコードはうまく機能しています。

-(void)viewDidLoad
{

    UIAlertView *prompt = [[UIAlertView alloc] init];
    prompt.title = @"تسجيل الدخول";
    prompt.message = @"\n\n\n";
    prompt.delegate = self;
    [prompt addButtonWithTitle:@"الغاء"];
    [prompt addButtonWithTitle:@"دخول"];

    UITextField *userNameTxtField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 50.0, 260.0, 25.0)];
    [userNameTxtField setBackgroundColor:[UIColor whiteColor]];
    [userNameTxtField setPlaceholder:@"اسم المستخدم"];
    [prompt addSubview:userNameTxtField];

    UITextField *passwordTxtField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 85.0, 260.0, 25.0)];
    [passwordTxtField setBackgroundColor:[UIColor whiteColor]];
    [passwordTxtField setPlaceholder:@"كلمة المرور"];
    [passwordTxtField setSecureTextEntry:YES];
    [prompt addSubview:passwordTxtField];

    [prompt show];
    //[prompt release];

    // set cursor and show keyboard
    [userNameTxtField becomeFirstResponder];
}
于 2012-09-17T13:55:23.660 に答える