我已经开始了一个非常简单的项目来学习iOS编程,但我在touchesBegan
之后得到 EXC_BAD_ACCESS 。
您可以在此处从DropBox下载该项目。
我基本上有一个UIView
子类,应该在用户触摸的任何地方绘制圆圈。
很简单,但我不能让它发挥作用。
非常感谢任何帮助。 谢谢!
修改
原来问题在于touchesBegan
:
ts = [NSMutableSet setWithSet: [event touchesForView:self]];
我改成了:
ts = [[NSMutableSet setWithSet: [event touchesForView:self]] retain];
答案 0 :(得分:2)
你为什么不用ARC ??? :) 很好!您没有保留ts
集。请注意,setWithSet:
会返回自动释放的实例。 (红圈看起来很有希望:))
答案 1 :(得分:2)
BAD_ACCESS错误通常与引用不再存在的对象有关(即,它们已被解除分配或已被自动释放)。在touchesBegan
或touchesEnded
:
release
次调用的任何错误放置。尝试将它们注释掉,看看错误是否消失。[NSString stringWith...]
或[NSArray arrayWith...]
,而不是alloc
和init
。如需进一步的帮助,请尝试为这些方法添加一些代码段。
答案 2 :(得分:0)
要知道BAD_ACCESS在xCode中使用Zombie的原因,请检查链接 http://www.markj.net/iphone-memory-debug-nszombie/