在我的应用程序中,我有一个带自定义单元格的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
}
为什么?
答案 0 :(得分:1)
您应该在[super dealloc]
方法结束时致电dealloc
。
此外,您可以使用它们作为属性。而不是直接释放nil
给他们:
- (void)dealloc
{
self.prod = nil;
self.back = nil;
[super dealloc];
}