-1

Twitter のユーザー タイムラインを表示するアプリを開発中です。にはUITableView、つぶやき、時間、およびプロファイル アイコンを持つセルが含まれます。ただし、リツイートには元の投稿者の画像ではなく、ユーザーのプロフィール画像が含まれます。JSON ファイルは、プロファイル画像の URL コンテンツを持つretweeted_statusと呼ばれるキーを持つと呼ばれる新しいキーを追加します。userそれが存在するかどうかを確認する条件文を作成するにはどうすればよいですretweeted_statusか。そうでない場合は、以下のコードのように画像を取得します。

 static NSString *CellIdentifier = @"Cell";

 UITableViewCell *cell = [self.tweetTableView
 dequeueReusableCellWithIdentifier:CellIdentifier];

 if (cell == nil) {
 cell = [[UITableViewCell alloc]
 initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
 }

dispatch_queue_t downloadQueue = dispatch_queue_create("image downloader", NULL);
dispatch_async(downloadQueue, ^{
    NSDictionary *tweet =_dataSource[[indexPath row]];
    NSDictionary *tweetSubtitle = _dataSource[[indexPath row]];

    //NSURL *retweetURL = [NSURL URLWithSting: [[tweet objectForKey:@"retweeted_status"] objectForKey:@"user"] objectForKey:@"profile_image_url"];


    NSURL *imageURL = [NSURL URLWithString:[[tweet  objectForKey:@"user"]objectForKey:@"profile_image_url"]];
    NSData *imageData = [NSData dataWithContentsOfURL:imageURL];

    //Need conditional function to find if retweet

    //NSLog(@"%@",imageData);
    dispatch_async(dispatch_get_main_queue(), ^{


        cell.textLabel.text = tweet[@"text"];
        cell.detailTextLabel.text = tweetSubtitle[@"created_at"];


        cell.imageView.image = [UIImage imageNamed:@"placeholder"];
        cell.imageView.image = [UIImage imageWithData:imageData];
    });
});
   //NSLog(@"screen name %@", tweetSubtitle[@"screen_name"]);

 return cell;
  }
4

1 に答える 1

1

私があなたを理解しているなら -

if ([tweet objectForKey:@"retweeted_status"])
{
// the tweet has a retweeted status
}
else
{
// no retweeted status
}

私は正しいですか?これはあなたが欲しいものですか?

于 2013-04-20T20:33:27.857 に答える