0

コンテンツを追加するために、別のビューコントローラーを使用してテーブルビューのカスタムセルを作成しました。しかし、不思議なことにコンテンツの表示が遅い。ほとんどの場合、中心線のみが表示され (何も表示されない場合もあります)、セルで遊んでしばらくすると、残りのコンテンツ (合計 3 行) が最終的に表示されます。

>だけ登場!

しばらくして、

ここに画像の説明を入力

すべてがそこにあります。

- (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;
    }
}
4

1 に答える 1

1
  • Core Data から取得しているため、取得に時間がかかる可能性があります。大規模なデータベースで作業していますか
  • もう 1 つの可能性のある説明は、メイン スレッドで他の CPU 集中型タスクを実行していることです。すべての UI 操作はメイン スレッドで行われ、メイン スレッドが他のタスクでビジー状態の場合、表示に遅延が発生することがあります。その後、これらの他のタスクをバックグラウンド スレッドで実行する必要があります。
于 2013-01-24T01:13:56.603 に答える