0

ストーリーボードにある tableviewcell の UIImage に問題があります。テーブルビューでセルをスクロールすると、毎回サーバーからデータが要求されるため、セルが非常に遅くなります。このビデオを見まし たが、ストーリーボードには UITableViewCell NIB ファイルがないため (ストーリーボードに統合されています)、ストーリーボードでは機能しません。

プロジェクトで行うこと

  1. オブジェクトを作成し、アウトレット プロパティにリンクします
  2. jsonを使用してインターネットからデータを取得します。
  3. テーブルビューに表示します。

プロジェクト ファイル全体をここからダウンロードできます。これは UITableview.m のコードですcellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"MyCell";
    MyCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    // Configure the cell...
    NSDictionary *entry = [ _entries objectAtIndex:indexPath.row];
    cell.boomTitle.text = [entry objectForKey:@"body"];
    NSString *imageURL=[NSString stringWithFormat:@"http://kelnakub.co.cc/upload/%i.jpg",[[entry objectForKey:@"IdEntry"] intValue]];
    for(NSDictionary *dic in _entries)
    {
        NewsFeed *myNewsFeed = [[NewsFeed alloc]init];
        myNewsFeed.thumNail = [dic objectForKey:@"IdEntry"];
    }

    NSURL *url = [NSURL URLWithString:imageURL];
    NSData *imageData = [NSData dataWithContentsOfURL:url];
    cell.boomImage.image = [UIImage imageWithData:imageData];
    cell.boomDate.text = [entry objectForKey:@"dateCreated"];
    return cell;
}
4

1 に答える 1

0

ストーリーボードを使用して、NIB ファイルで UITableViewCell を使用できます。プロトタイプ セルを使用し、ストーリーボードでセルを設計する代わりに、新しい NIB を作成し、その上に UITableViewCell を設計します (ストーリーボードの UITableView にはセルがありません)。

次に、コードで、次のようなものを使用してセルをロードできます。UITableViewCell * MyCustomCell = [[[NSBundle mainBundle] loadNibNamed:@"MyCustomCell" owner:self options:nil] objectAtIndex:1];

于 2012-10-24T20:39:43.163 に答える