UICollectionView をスクロールすると、すべてcellForItemAtIndexPath
が一貫して呼び出されるわけではないようです。メソッドが完了する前にセルがリサイクルされるためかどうか疑問に思っています。
たとえば (私は AFNetworking の UIImageView カテゴリを使用しています):
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
THMovieCell* cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
NSNumber* position = [[NSNumber alloc] initWithInteger:indexPath.row + 1];
THMovie* movie = [self.Movies objectForKey:position];
if (movie.ImageUrl) {
[cell.Cover setImageWithURL:movie.ImageUrl];
}
cell.Title.text = movie.Title;
return cell;
}
...しかしcell.Title
、カスタムセルの UILabel は一貫して変更されていますが、画像はそうではありません。
セルの高速スクロールのパフォーマンスを向上させる最善の方法は何ですか?