UIButton导致崩溃

Sno*_*man 3 iphone cocoa-touch objective-c

这是一个非常简单的问题,但我不知道它为什么会发生.在我的头文件中,我已声明了一个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];
Run Code Online (Sandbox Code Playgroud)

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

jrt*_*ton 7

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

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