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



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

在我的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

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

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

我刚刚复制粘贴了您的代码,它在这里工作正常,您可能错误地意识到它,因为该对象是自动释放的,并且 H2CO3 如前所述也是真的。

最新更新