Ios 我有一个非常奇怪的碰撞。请查看我的堆栈跟踪

Ios 我有一个非常奇怪的碰撞。请查看我的堆栈跟踪,ios,memory-management,crash,Ios,Memory Management,Crash,我的类下载ViewControl @interface DownloadViewControl : UIViewController { IBOutlet UIProgressView *progress; } @property (nonatomic, retain) IBOutlet UILabel *chapterLabel; @property (nonatomic, retain) IBOutlet UILabel *timeLabel; @property (nonatomic,

我的类下载ViewControl

@interface DownloadViewControl : UIViewController
{
 IBOutlet UIProgressView *progress;
}
@property (nonatomic, retain) IBOutlet UILabel *chapterLabel;
@property (nonatomic, retain) IBOutlet UILabel *timeLabel;
@property (nonatomic, retain) IBOutlet UIButton *button;
//*.m文件

- (void)dealloc {
[chapterLabel release];
[timeLabel release];
[button release];

[progress release];
[super dealloc];
}
我有一个非常奇怪的碰撞。请查看我的堆栈跟踪


如果没有具体的错误消息,很难判断,但我猜:

按照惯例,不会保留IBoutlet,因为视图的子视图已由其superview保留。当您释放
progress
控件时,它会消失而不会从其superview中删除,然后当您调用
super
时,它会释放视图层次结构,包括已经消失的
progress
控件


因此,您可能不希望
[progress release]
出现在那里。

了解错误消息的文本将非常有帮助……然后我非常同意下面的答案。EXC_BAD_访问在90%的时间里是由于太多的发布调用造成的。