2012-07-05 47 views
2

在我的应用程序,在一个视图中的曲线图可以使得新的图形代替第二视图(就像拖动一个复制/粘贴效果和丢弃功能)被拖动到的第二视图。如果委托协议被取出,应用程序可以工作,以便第二个视图处理函数本身的更改。当加入该协议,应用程序在主文件中崩溃在添加委托协议后,主应用程序崩溃;没有错误代码

return UIApplicationMain(argc, argv, nil, NSStringFromClass([Load_CreatorAppDelegate class]));. 

没有比标准(LLDB)以外的任何错误输出。即使我将代码的调用(保存在代码中),该应用程序也会崩溃。不过,我知道它必须与协议代码相关,因为在此之前它运行良好。

这里是第二视图(BeamView)代码的一部分:

[self drawSupportsAtLeftPoint:self.beamBottomLeft rightPoint:self.beamBottomRight inContext:context :leftPin :rightPin]; 

BOOL pt = NO; 
if (self.tempLoad) { 
    //self.loadGraph = [self.dataSource changeToTempLoad:self]; NOTE #1 
    //if (self.tempPtLoad.x != 0 || self.tempPtLoad.y != 0) pt = YES; 
    pt = [self changeLoad]; 
    [self drawLoadWithFunction:self.loadGraph inContext:context fromPoint:self.beamTopLeft toPoint:self.beamTopRight withAlpha:0.3 isPointLoad:pt inBlack:YES]; 
} 
else { 
    self.loadGraph = ^(int x) {return x/15;}; 
    [self drawLoadWithFunction:self.loadGraph inContext:context fromPoint:self.beamTopLeft toPoint:self.beamTopRight withAlpha:1 isPointLoad:pt inBlack:NO]; 
} 

self.tempLoad = NO; 

注#1:被注释是对代表调用者这些线。这两种方法及其实施是我所做的唯一改变。

我完全糊涂了,任何帮助,将不胜感激。该应用程序会在主文件中崩溃的原因是什么?

+0

飞机坠毁标志着行,因为在Xcode中,将其与4.x的系列版本的推出误功能的错误。基本上,未捕获的异常在缺省情况下不会被报告,直到它到达应用的顶层,然后才会报告异常堆栈跟踪。有时可以帮助转到Breakpoint Inspector并添加未捕获的Objective-C异常;更多的时候,它有助于将您在@ try/@ catch中指示的'main'包含在行中,然后NSLog将该异常的描述和callStackSymbols。 –

+0

谢谢,@PhillipMills - 我做了以下操作 '@try {0try0} {0autoreleasepool { return UIApplicationMain(argc,argv,nil,NSStringFromClass([Load_CreatorAppDelegate class])); } } @catch(NSException *例外){ 的NSLog(@ “异常:%@”,例外); [NSThread callStackSymbols]; } ' 这是你的意思吗?该程序仍然在主线崩溃,而不是输出任何东西 –

+0

关闭。我已经走以'@try { @autoreleasepool { 回报UIApplicationMain(ARGC,ARGV,零,NSStringFromClass([Load_CreatorAppDelegate类])); (@“Exception:%@,Stack:%@”,[exception description],[exception callStackSymbols]);}'但是如果它没有触发你的话,我I没有理由让我的工作。另一种选择是将@ try/@ catch移动到您认为正在生成实际错误的位置。 –

回答

0

好的!我觉得有点愚蠢,但事实证明,这次事故与代表团没有任何关系(好,那种)。我已经删除了ViewController.m文件中的插口,而不会在IB中断开它们,导致崩溃。

,我忘了我做这一点,所以我花了一段时间才想起来 - 但直到我回去,我看到的差异旧的保存的版本。