0

いくつかのツイートをロードする UITableView がありますが、すべてうまく機能しますが、テーブルにデータを入力すると、テーブルビューに触れるまで CellForRow メソッドに入りません....誰かがこれを解決する方法を知っていますか?

 tab = [[UITableView alloc] initWithFrame:CGRectMake(10, 300, 400, 200) style:UITableViewStylePlain];
 tab.dataSource = self;
 tab.delegate = self;

それから...

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"entra a cellula");
    Tweet *t = [tweets objectAtIndex:indexPath.row];

    static NSString *MyIdentifier = @"MyIdentifier";

    // Try to retrieve from the table view a now-unused cell with the given identifier.
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];

    // If no cell is available, create a new one using the given identifier.
    if (cell == nil) {
        // Use the default cell style.
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:MyIdentifier];
    }



    cell.textLabel.text = t.screenName;
    cell.detailTextLabel.text = t.text;
    cell.imageView.image = t.profileImage;
return cell;

}

4

2 に答える 2

1

私たちが知っていることに基づく最良の推測は、テーブルをメインスレッドのサブビューとして追加していないということです。これは、スクロールするまで再描画が行われないことを意味します。addsubview 呼び出しを GCD 呼び出しで次のようにラップしてみてください。

dispatch_async(dispatch_get_main_queue(), ^() {
    [self addSubview:tab];
});
于 2012-10-22T15:40:52.080 に答える
0

ツイートの読み込みが完了したら、次のメソッドを呼び出します。

[tab reloadData];

tableView データ ソースをリロードします。

于 2012-10-22T15:22:26.957 に答える