好吧,我知道这个错误主要来自发送方法调用或尝试访问已经解除分配的变量.
这是问题所在:
.h @interface TimeEntry : NSObject{ NSDate *from; NSDate *to; NSString *information; } @property (nonatomic, retain) NSDate *from; @property (nonatomic, retain) NSDate *to; @property (nonatomic, copy) NSString *information; @end
而且我的班级是dealloc.
-(void)dealloc{ [super dealloc]; [to release]; [from release]; [information release]; }
当我收到EXC_BAD_ACCESS错误时,这是追溯的事情
所以我正在向已经解除分配的对象发送消息?
所以我打开NSZombie,这停止了我的崩溃.它并没有像我希望的那样给我一些可爱的崩溃报告.相反,它只是让程序崩溃.
在上面的dealloc方法中,如果我注释掉[发布]和[从发布]应用程序不会崩溃.如果我只注释其中一个......它不会崩溃.在调试窗口中往返有不同的内存地址.
记忆管理怎么这么难!!!!
有人提出任何线索吗?
谢谢,
担
在释放变量之后发送[super dealloc]消息,而不是之前.[super dealloc]应该是你在dealloc方法中做的最后一件事.