EXC_BAD_ACCESS描边路径时出现问题

时间:2013-07-02 22:35:10

标签: iphone xcode path uibezierpath stroke

我在绘制,填充然后抚摸路径时遇到EXC_BAD_ACCESS错误。这是代码:

UIBezierPath *aPath = [UIBezierPath bezierPath];

[aPath moveToPoint:CGPointMake(0, 88)];
[aPath addLineToPoint:CGPointMake(interPoint, 0)];
[aPath addLineToPoint:CGPointMake(interPoint, 176)];
[aPath addLineToPoint:CGPointMake(0, 88)];

[aPath closePath];

[[UIColor blackColor] setStroke];
[[UIColor colorWithHue:0.1583 saturation:1 brightness:1 alpha:1.0] setFill];

aPath.lineWidth = 1;

[aPath fill];
[aPath stroke];

当程序到达[aPath stroke]时,似乎发生了错误。如果我评论[aPath stroke],则错误消失。我知道EXC_BAD_ACCESS错误与内存管理有关,但我无法弄清楚问题出在哪里。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

要弄清楚EXC_BAD_ACCESS错误的原因和位置如下:

在Xcode中转到产品 - > 计划 - > 修改计划 将弹出一个屏幕。在那个选择Argument选项卡中。在其下转到Environment Variable部分,然后单击添加按钮以使用名称NSZombieEnable添加值为YES的属性。

现在运行你的应用。 它将为您提供EXC_BAD_ACCESS错误的详细日志。

您可以使用 [variableName retain];

在内存中取消分配之前增加变量保留计数

在您的情况下,在取消分配aPath之前使用 [aPath retain];