+ (UITableViewCell *)inputCell {
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"id"];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.textLabel.font = [UIFont boldSystemFontOfSize:14];
return cell;
}
Xcode显示内存泄漏。我尝试在单元初始化期间和返回期间提供自动释放,但应用程序在两种情况下都崩溃了。
答案 0 :(得分:1)
您发布的代码会泄漏内存,因为您的alloc init将返回一个保留计数为1的单元格。据推测,调用代码然后将此对象返回到cellForRowAtIndexPath,它将它附加到UITableView并再次增加保留计数(到两个)。因此,当UITableView释放它的内存时,该对象的保留计数仍为一。
如果您尝试在此代码中自动释放该对象并且崩溃,那么您会有一个单独的错误。
答案 1 :(得分:0)
UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"id"] autorelease];
除非您在调用-inputCell
的代码时遇到问题,否则应该没问题