Iphone 自定义UITableViewCell在滚动到顶部后消失
我有一个从nib文件加载的自定义UITableViewCell。一切正常,直到我向下滚动过最后一个单元格,这样当我放开时,表视图必须反弹回来 然后,列表顶部的单元格为空,并一直保持为空,直到我手动刷新表视图为止 问题图片:[iPhone屏幕截图][1] 这是我的行代码单元格:Iphone 自定义UITableViewCell在滚动到顶部后消失,iphone,uitableview,Iphone,Uitableview,我有一个从nib文件加载的自定义UITableViewCell。一切正常,直到我向下滚动过最后一个单元格,这样当我放开时,表视图必须反弹回来 然后,列表顶部的单元格为空,并一直保持为空,直到我手动刷新表视图为止 问题图片:[iPhone屏幕截图][1] 这是我的行代码单元格: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { stati
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"TimeEntryCellIdentifier";
TimeEntryCell *cell = (TimeEntryCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"TimeEntryCell" owner:self options:nil];
for (id oneObject in nib) {
if ([oneObject isKindOfClass:[TimeEntryCell class]]) {
cell = (TimeEntryCell *) oneObject;
}
}
}
TimeEntry *aTimeEntry = [appDelegate.timeEntries objectAtIndex:indexPath.row];
cell.clientName.text = aTimeEntry.ClientName;
cell.category.text = aTimeEntry.CategoryName;
cell.hours.text = [NSString stringWithFormat:@"%@", aTimeEntry.Hours];
[TimeEntry release];
return cell;
}
有什么想法吗
[1] :拍摄时间:2011-02-18下午2:46.42 png
[1] :拍摄时间:2011-02-18下午2点46分42分。png我认为你不应该这样做
[TimeEntry release];
在下一行的最后一行。您没有在该方法中分配它,只是从委托中提取了一个引用。此时,保留计数可能为零。当iOS开始释放内存时,TimeEntry将被释放。问题在于IB中的视图层次结构。即使我在单元格中放置了一个视图,然后将UILabels拖到视图上,但它们最终与视图处于同一级别。在我移动视图下的UILabels后,它似乎正在工作。作为调试过程的一部分放在那里。我删除了它,但仍然有同样的问题。现在我被难住了。我去看了我的一些代码,其中一个区别是测试nib负载的输出如果扩展的UITableViewCell类使用了([object isKindOfClass:[UITableViewCell类]]),而不是文本。在应用程序的这一点上,其他地方可能会出现内存问题。