我是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");
}

我启用了“僵尸对象”,并能够在调试日志中找到以下消息
2012-02-21 22:46:00.911 test[2601:f803] *** -[MainViewController performSelector:withObject:withObject:]: message sent to deallocated instance 0x6b4bba0

查看以上消息,在我看来ARC正在过早释放我的MainViewController。
我不确定我在做什么错。如果我缺少什么,请告诉我。

提前致谢

最佳答案

请使用

@property (strong, nonatomic) MainViewController *mvc;

关于iphone - ARC过早释放ViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9390348/

10-10 18:24