我已经为 TableView 创建了一个自定义 TableViewCell,但是如果有一个 dealloc 方法(在自定义单元类中),应用程序就会崩溃。请参阅以下用于表格单元类的代码:
#import <UIKit/UIKit.h>
@interface CustomTableCell : UITableViewCell {
UILabel *nameLabel_;
UILabel *dateLabel_;
}
@property (nonatomic, retain) IBOutlet UILabel *nameLabel;
@property (nonatomic, retain) IBOutlet UILabel *dateLabel;
@end
#import "CustomTableCell.h"
@implementation CustomTableCell
@synthesize nameLabel = nameLabel_;
@synthesize dateLabel = dateLabel_;
- (void) dealloc {
[self.nameLabel release];
self.nameLabel = nil;
[self.dateLabel release];
self.dateLabel = nil;
[super dealloc];
}
@end
创建自定义单元格的代码(cellForRowAtIndexPath):
UITableViewCell *Cell = [tableView dequeueReusableCellWithIdentifier:@"DemoCell"];
if (Cell == nil){
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomTableCell" owner:nil options:nil];
for(id currentObject in topLevelObjects)
{
if([currentObject isKindOfClass:[CustomTableCell class]])
{
Cell = (CustomTableCell *)currentObject;
break;
}
}
}
如果我从自定义单元格中删除 dealloc 方法,一切正常。否则我会得到一个异常(当我滚动表格视图时):-[CALayer release]: 消息发送到释放实例 0x6fbc590 *
我们不需要customTableViewCell 中的dealloc 方法吗?请帮助我找到解决此问题的方法。