这是一个非常简单的问题,但我不知道它为什么会发生。在我的头文件中,我声明了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的东西。有什么想法吗?
答案 0 :(得分:7)
你的第一个方法是返回一个自动释放的对象,很可能它是在你的第二个方法被调用时释放的。在第一种方法中保留按钮或使用保留属性来保持它而不是ivar。
另外,请记住最后在dealloc方法中释放它。