【发布时间】:2014-10-04 21:29:58
【问题描述】:
我已经在这个网站和谷歌上寻找了大约一周的时间,现在试图解决我的应用程序中的一个错误。看起来内存管理是问题所在,并且带有僵尸的断点/仪器不会返回任何东西。我所能弄清楚的是问题源于这段代码。当应用程序在某些情况下运行时,它会在我的 main.m 上返回 EXC_BAD_ACCESS。我认为这是问题所在,但提前感谢您查看它!
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
if (!gameOver && gameStarted) {
[lines runAction:[SKAction removeFromParent]];
dotDrawn = NO;
UITouch* touch = [touches anyObject];
CGPoint positionInScene = [touch locationInNode:self];
pos2x = positionInScene.x;
pos2y = positionInScene.y;
lines = [SKShapeNode node];
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, pos1x, pos1y);
CGPathAddLineToPoint(path, NULL, pos2x, pos2y);
lines.path = path;
lines.strokeColor = [UIColor grayColor];
[lines setLineWidth:3];
[self addChild:lines];
}
}
【问题讨论】:
-
添加异常断点并将任何崩溃消息发布到日志中。请注意,您泄漏了 cgpath 对象,您必须释放它。
-
@LearnCocos2D 我会在今天晚些时候有机会时尝试断点异常,但我会在哪里 cgpathrelease ?感谢您的帮助!
-
lines.path = path;线。您仍然“拥有”路径,因此您必须释放它。 ARC 不会自动释放 CGPath 等核心基础对象。
-
@LearnCocos2D 嘿,我尝试了断点异常和添加 CGPathRelease(path);但崩溃和异常仍然发生。如果您有任何其他想法,我很想听听,但如果没有,至少感谢您查看它!
-
异常断点应该向您显示最接近源代码仍然可用的错误的代码行。 Xcode 在崩溃时突出显示哪一行?
标签: sprite-kit ios8 exc-bad-access