0

在我的应用程序中,我有一个带有自定义单元格的 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
}

为什么?

4

1 回答 1

1

您应该[super dealloc]在方法结束时调用dealloc

此外,当您拥有属性时,请利用它们。而不是直接释放分配nil给他们:

- (void)dealloc
{
    self.prod = nil;
    self.back = nil;
    [super dealloc];
}
于 2012-07-31T09:06:41.773 回答