0

次のコードを使用してサブビューを追加したメインビューがあります。

-(IBAction)launchPage:(id) sender
{
    ActivityViewController *activityViewController = [[ActivityViewController alloc] initWithNibName:@"ActivityViewController" bundle:nil];
    activityViewController.view.frame = CGRectMake(183, 104, 841, 573);
    activityViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"activity_bckgrnd.png"]];
    [self.view addSubview:activityViewController.view];    
}

このxibファイルにボタンイベントを追加しようとしているボタンがあります。しかし、割り当てた後にボタンをクリックすると、IBActionEXECBADACCESSエラーが発生します。

int main(int argc, char *argv[])
{
    @autoreleasepool {
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}

誰かが間違いが何であるかを私に知らせてもらえますか?プロジェクトでARCを有効にしました。

サブビューとして追加したViewControllerの.hファイルで宣言しました

@property(strong,retain) UIButton *billingAddressChkBox;

.mファイルでは、IBActionは次のようになります。

- (IBAction)checkboxButton:(id)sender{

if (checkboxSelected == 0){
    [billingAddressChkBox setSelected:YES];
    checkboxSelected = 1;

} else {
    [billingAddressChkBox setSelected:NO];
    checkboxSelected = 0;
}

}

ゾンビを有効にしましたが、次のメッセージが表示されます。

message sent to deallocated instance

どのインスタンスがそのアドレスから割り当て解除されているかを知ることができますか?

4

2 に答える 2

4

初期化するしかなかった

ActivityViewController *activityViewController

ヘッダー ファイルで、.m ファイルからアクセスします。これで問題は解決しました。

于 2012-06-25T11:23:20.153 に答える
0

ARC を使用しているためstrong、MRCretainプロパティ オプションの代わりにプロパティ オプションを使用します。したがって、 を書くときは@property(strong,retain) UIButton *billingAddressChkBox;、 を削除しretainてください。うまくいくと思います。

お役に立てれば!

于 2012-06-20T19:59:51.717 に答える