我是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/