【发布时间】:2010-03-08 15:44:08
【问题描述】:
如果我在应用程序委托类中实现它,那么它工作正常。 但是在 Viewcontroller 类中每次都会崩溃。 我实现了 try-catch 然后它不会崩溃。但不工作。
谢谢 马诺吉
【问题讨论】:
标签: iphone cocoa-touch debugging crash
如果我在应用程序委托类中实现它,那么它工作正常。 但是在 Viewcontroller 类中每次都会崩溃。 我实现了 try-catch 然后它不会崩溃。但不工作。
谢谢 马诺吉
【问题讨论】:
标签: iphone cocoa-touch debugging crash
学习使用调试器。
它会告诉你崩溃发生在哪里。然后,您可能会了解应该归咎于哪个对象或哪个方法。您的情况听起来像是内存管理问题,但从您的描述中无法判断。
另外:try-catch 是一个在 Cocoa 中很少使用的概念。如果您来自 Java,您可能会认为它可以捕获所有错误,但在 Objective-C 中,很少有错误会引发异常。
【讨论】:
这是我的代码 如果我们注释行 [mainMenuView addSubview:adWhirlView];然后应用程序正常
我的 .h 文件
#import "AdWhirlDelegateProtocol.h"
@interface Are_you_BoredViewController : UIViewController <AdWhirlDelegate> {
AdWhirlView *adWhirlView;]
我的 .m 文件
-(void)awakeFromNib{
adWhirlView = [AdWhirlView requestAdWhirlViewWithDelegate:self];
-(void)nextButtonEnable{
[menuLoop stop];
[splashActIndicator stopAnimating];
[splashActIndicator setHidesWhenStopped:YES];
[nextSplashBtn setHidden:NO];
[self.view addSubview:mainMenuView];
[mainMenuView addSubview:adWhirlView];
[mainMenuView setFrame:CGRectMake(0.0, 0.0, 320.0, 480.0)];
}
【讨论】:
-(void)awakeFromNib{ adWhirlView = [AdWhirlView requestAdWhirlViewWithDelegate:self];
由于您将此对象的指针分配给您的实例变量之一,您应该保留该对象。见the memory management rules。
另外,使用} 终止该方法。 ☺
【讨论】: