Iphone 自定义UITableViewCell在滚动到顶部后消失

Iphone 自定义UITableViewCell在滚动到顶部后消失,iphone,uitableview,Iphone,Uitableview,我有一个从nib文件加载的自定义UITableViewCell。一切正常,直到我向下滚动过最后一个单元格,这样当我放开时,表视图必须反弹回来 然后,列表顶部的单元格为空,并一直保持为空,直到我手动刷新表视图为止 问题图片:[iPhone屏幕截图][1] 这是我的行代码单元格: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { stati

我有一个从nib文件加载的自定义UITableViewCell。一切正常,直到我向下滚动过最后一个单元格,这样当我放开时,表视图必须反弹回来

然后,列表顶部的单元格为空,并一直保持为空,直到我手动刷新表视图为止

问题图片:[iPhone屏幕截图][1]

这是我的行代码单元格:

- (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类]]),而不是文本。在应用程序的这一点上,其他地方可能会出现内存问题。