[super dealloc] 行にヒットするとクラッシュする UITableViewCell のサブクラスがあります。セルにいくつかのテキストフィールドがあり、エラーメッセージは次のように言っています*** -[UITextField release]: message sent to deallocated instance 0x739dfd0
関連するコード スニペットを以下に示します (他にも textFields がありますが、それらはすべて同じように扱われます。セルの contentView に追加することに関係しているのではないかと疑っていますが、修正方法がわかりません。
カスタム UITableViewCell の .h ファイル:
@interface ExerciseTableViewCell : UITableViewCell {
UITextField *textField1;
}
@property (nonatomic, retain) UITextField *textField1;
@end
.m ファイル:
@implementation ExerciseTableViewCell
@synthesize textField1;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
UIView *myContentView = self.contentView;
UITextField *newTextField1 = [[UITextField alloc] init];
self.textField1 = newTextField1;
[newTextField1 release];
[myContentView addSubview:textField1];
}
return self;
}
}
- (void)dealloc {
[textField1 release];
[super dealloc];
}
textField を何度も解放する理由がわかりません。