Twitter API を使用して JSON で解析するアプリを作成しています。画像をセルに読み込むたびに、複数の画像が取得され、すべてが遅くなります。一度画像を取得してから、同じ画像をすべてのセルに入れるにはどうすればよいでしょうか。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"TweetCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
NSDictionary *tweet = [tweets objectAtIndex:indexPath.row];
NSString *text = [tweet objectForKey:@"text"];
NSString *time = [tweet objectForKey:@"created_at"];
time = [time stringByReplacingOccurrencesOfString:@" +0000 "withString:@"/"];
NSString *twitterImage = [[tweet objectForKey:@"user"] objectForKey:@"profile_image_url_https"];
NSString *completeImage = [NSString stringWithFormat:@"%@", twitterImage];
NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: completeImage]];
imageLabel.image = [UIImage imageWithData: imageData];
cell.imageView.image = [UIImage imageWithData: imageData];
cell.textLabel.text = text;
cell.textLabel.numberOfLines = 3;
cell.detailTextLabel.text = [NSString stringWithFormat:@"%@", time];
}
return cell;
}
今はこのように見えますが、スクロールすると本当にラグが発生します。 http://gyazo.com/8ab8325f3921fdb7e4f0ea0107d389ac.png