应用程序在添加委托协议后崩溃;没有错误代码

时间:2012-07-05 00:56:52

标签: objective-c xcode ipad

在我的应用中,可以将一个视图中的图形拖动到第二个视图,以便新图形替换第二个视图(就像具有拖放功能的复制/粘贴效果)。如果取出委托协议,则应用程序可以工作,以便第二个视图处理函数本身的更改。添加协议后,应用程序在

的主文件中崩溃
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:注释掉的这些行是调用委托的行。这两种方法及其实现是我所做的唯一改变。

我完全糊涂了,任何帮助都会非常感激。应用程序在主文件中崩溃的可能原因是什么?

1 个答案:

答案 0 :(得分:0)

确定!我觉得有点愚蠢,但事实证明,崩溃与代表团没有任何关系(好吧,有点)。我在ViewController.m文件中删除了插座而没有在IB中断开它们,这导致了崩溃。

我忘记了我已经这样做了,所以我花了一段时间才想到它 - 直到我回到一个较旧的保存版本,我才看到了差异。