在我的应用中,可以将一个视图中的图形拖动到第二个视图,以便新图形替换第二个视图(就像具有拖放功能的复制/粘贴效果)。如果取出委托协议,则应用程序可以工作,以便第二个视图处理函数本身的更改。添加协议后,应用程序在
的主文件中崩溃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 :(得分:0)
确定!我觉得有点愚蠢,但事实证明,崩溃与代表团没有任何关系(好吧,有点)。我在ViewController.m文件中删除了插座而没有在IB中断开它们,这导致了崩溃。
我忘记了我已经这样做了,所以我花了一段时间才想到它 - 直到我回到一个较旧的保存版本,我才看到了差异。