ARC过早地释放ViewController

cyb*_*daa 1 iphone memory-management ios automatic-ref-counting

我是ARC的新手,我已经玩了不到一个星期.我想做的是非常基本的.我有一个显示按钮的视图控制器.单击按钮时,需要调用相应的选择器.但是,使用ARC,应用程序崩溃时出现EXC_BAD_ACCESS消息.下面是我的MainViewController的代码

- (void)loadView
{
    [super loadView];
    UIButton *testButton=[UIButton buttonWithType:UIButtonTypeRoundedRect];
    [testButton setFrame:CGRectMake(80,50,160,50)];
    [testButton setTitle:@"Click Me" forState:UIControlStateNormal];
    [testButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:testButton];
}

-(void)buttonClicked:(id)sender
{
    NSLog(@"Button Clicked");
}
Run Code Online (Sandbox Code Playgroud)

我启用了Zombie Objects,并且能够在调试日志中找到以下消息

2012-02-21 22:46:00.911 test[2601:f803] *** -[MainViewController performSelector:withObject:withObject:]: message sent to deallocated instance 0x6b4bba0
Run Code Online (Sandbox Code Playgroud)

看看上面的消息,我觉得ARC过早地发布了我的MainViewController.我不确定我在这里做错了什么.如果我错过了什么,请告诉我.

提前致谢

Dee*_*esh 10

请使用

@property (strong, nonatomic) MainViewController *mvc;
Run Code Online (Sandbox Code Playgroud)