我有一个模态视图控制器,它是崩溃时,它自己。错误是EXC_BAD_ACCESS (易皮)。我试着用NSZombie解决了这个问题。我得到了以下信息:
2010-20 17:15:58.936 24058:207基于非零客户机计数的AddRunningClient启动设备10-10-20 17:16:06.846 24058:207 * -ViewController保留:发送给已释放实例0x6c2d4a0的消息
这意味着什么?这意味着消息被发送到查看控制器,还是消息被发送到查看控制器中的对象?
我真的被困住了,因为线似乎是主要的:
谢谢大家的帮助,
马丁
编辑
谢谢大家的快速回复。下面是我展示视图控制器的方式:
-(IBAction)letsstartGame {
ViewController * sl = [[ViewController alloc] initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]];
self.viewLink = sl;
[sl release];
[mainMenu stop];
[mainMenu setCurrentTime:0.0];
[self presentModalViewController:viewLink animated:NO];
[viewLink release];
self.viewLink = nil;}
像这样辞退:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
if (waitingOver) {
[backgroundMain stop];
[fireworks stop];
[self dismissModalViewControllerAnimated:NO];
} }
发布于 2010-10-20 16:24:28
这意味着您有一个ViewController类型对象的实例,它被解除分配,然后尝试对其进行retain。
编辑
你释放的对象太多了。你正在做的事情如下:
ViewController * sl = [[ViewController alloc] initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]]; //allocated, has a +1 retain count
self.viewLink = sl; //assuming a retain property, has a +2 retain count
[sl release]; //releasing, now has +1 retain count
....
[viewLink release]; //releasing, now has a 0 retain count
self.viewLink = nil; //attempting to release stale pointer, will result in a crash (perhaps not immediately, but eventually)去掉[viewLink release]线。把它放进去是不对的。
发布于 2010-10-20 16:24:04
这意味着您要向已释放的实例发送消息。因此,在代码中的某个地方,您未能保留一个对象(可能是ViewController)或过早地发布它。
如果您可以在创建的地方发布代码,则可能有助于我们进行调试。
发布于 2010-10-20 16:24:41
该消息基本上是说,您试图在/向已释放(释放和释放内存)的对象上发送消息(调用函数)。如果您可以发送更多的代码,我也许可以尝试确定原因。
https://stackoverflow.com/questions/3980056
复制相似问题