IOS:imageView的奇怪崩溃

时间:2012-07-31 09:04:19

标签: ios uitableview exc-bad-access

在我的应用程序中,我有一个带自定义单元格的tableView,这是自定义单元格的.h

    @interface TableViewCell : UITableViewCell{

    IBOutlet UILabel *prod;
    IBOutlet UIImageView *back;
}

@property (nonatomic, retain) IBOutlet UILabel *prod;
@property (nonatomic, retain) IBOutlet UIImageView *back;

而且是.m

@implementation TableViewCell

@synthesize prod, back;

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
    }
    return self;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

- (void) dealloc{
    [super dealloc];
    [prod release];
    [back release];
}


@end

在tableView的委托方法中我有这个

- (void)tableView:(UITableView *)tableView commitEditingStyle...

但是当我删除tableView的最后一行时,我在这里有一个EXC_BAD ACCESS:

- (void) dealloc{
    [super dealloc];
    [prod release];
    [back release]; <-- for this I have a EXC BAD ACCESS
}

为什么?

1 个答案:

答案 0 :(得分:1)

您应该在[super dealloc]方法结束时致电dealloc

此外,您可以使用它们作为属性。而不是直接释放nil给他们:

- (void)dealloc
{
    self.prod = nil;
    self.back = nil;
    [super dealloc];
}