UIButton导致崩溃

时间:2011-09-08 15:34:12

标签: iphone objective-c cocoa-touch

这是一个非常简单的问题,但我不知道它为什么会发生。在我的头文件中,我声明了UIButton *leftButton。在viewDidLoad方法中,我执行此操作leftButton=[UIButton buttonWithType:UIButtonTypeRoundedRect];

然后我用其他方法:

    leftButton.frame=newFrame;
    leftButton.tag=i;
    [leftButton addTarget:self action:@selector(leftButtonSelected:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:leftButton];

然而,当调用上述方法时,我一直在崩溃。有时我收到一条消息,有时它只是崩溃而没有消息。我无法真正复制任何崩溃消息,现在我所得到的只是一般崩溃,但是它仍然会因为[UIGestureRecognizer setFrame]导致问题或者[WebView setFrame]或某些东西等奇怪问题而崩溃。它一直认为leftButton不是UIButton,但事实并非如此。在我的整个项目中没有其他任何名为leftButton的东西。有什么想法吗?

1 个答案:

答案 0 :(得分:7)

你的第一个方法是返回一个自动释放的对象,很可能它是在你的第二个方法被调用时释放的。在第一种方法中保留按钮或使用保留属性来保持它而不是ivar。

另外,请记住最后在dealloc方法中释放它。