iOS内存管理错误 - 发送到解除分配的实例的消息

时间:2012-08-17 06:23:23

标签: iphone ios button uibutton

之前我创建了很多按钮,但出于某种原因,我在创建一个简单的按钮时遇到了麻烦。

在我的viewDidLoad方法中,我创建了一个非常基本的按钮:

_button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
_button.frame = CGRectMake(0, 0, 100, 25);
[_button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:_button];

- (void)buttonClicked:(id)sender
{
    NSLog(@"%@", sender);
    NSLog(@"Download issue");
}

但出于某种原因,当我点击它时,我只是收到错误

  

* - [DownloadButtonViewController performSelector:withObject:withObject:]:消息发送到解除分配的实例0x6ac2af0

我不知道出了什么问题,因为代码与我之前创建的每个按钮完全一样......(可能只是有一个糟糕的一天......)

2 个答案:

答案 0 :(得分:10)

您的视图控制器本身正在被取消分配。也许您正在使用ARC,并且您没有对视图控制器的强引用,因此它在创建后立即被释放。

答案 1 :(得分:0)

我只是复制粘贴你的代码并且它在这里工作正常,你可能会错误地将它放在某处,因为该对象是自动释放它自己和H2CO3,如上所述也是如此。