UITableViewCell慢慢显示

时间:2013-01-24 01:07:05

标签: iphone

我为我的tableview创建了一个自定义单元格,另一个viewcontroller用于向其添加内容。 但奇怪的是,内容显示得很慢。我的意思是只有中心线出现在大部分时间(有时没有),然后玩单元格,过了一会儿,其余的内容(总共3行)终于出现了。

Only the > appear!

过了一会儿,

enter image description here

一切都在那里。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    eatEventTableViewCell *cell = (eatEventTableViewCell*)[tableView dequeueReusableCellWithIdentifier:@"expenseCell"];
    if (cell == nil) {
    cell = [[eatEventTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"expenseCell"];
    }

    [self configureCell:cell atIndexPath:indexPath];
    return cell;
}

- (void)configureCell:(eatEventTableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath
{
    NSManagedObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];

    cell.nameField.text = [[object valueForKey:@"descText"] description];
    cell.tagsField.text = [[object valueForKey:@"type"] description];
    cell.creationDateLabel.text = [eatAddViewController dateFormat:[[object valueForKey:@"timeStamp"] description] :TRUE];
    if([eatExpenseType getSelectionValue :cell.tagsField.text :m_setting])
    {
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    }
    else
    {
        cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
    }
}

1 个答案:

答案 0 :(得分:1)

  • 由于您是从Core Data获取的,因此一种可能性是获取需要很长时间。您是在处理大型数据库吗?
  • 另一种可能的解释是,您正在主线程上执行其他一些CPU密集型任务。每个UI操作都发生在主线程上,如果主线程也忙于其他任务,您可能会在显示中遇到延迟。然后,您希望在后台线程上执行其他任务。