我有一個UITableViewCell的子類,當它碰到[super dealloc]行時會崩潰。我有幾個textFields在我的單元格和錯誤信息是說*** -[UITextField release]: message sent to deallocated instance 0x739dfd0
自定義的UITableViewCell崩潰[super dealloc]
相關的代碼片斷如下(我有其他的textFields,但他們都以同樣的方式處理,我懷疑是這樣做與添加到。細胞的內容查看,但我不知道如何糾正它
自定義的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?
這會泄漏。 – omz
哦!是的,謝謝,我編輯了我的答案 – Charan
這仍然會泄漏。當你分配一個保留屬性時,你必須在之後自動釋放或釋放該對象,因爲屬性的設置者已經保留了它(也就是說,如果你不使用ARC,OP不是)。 – omz