Sử dụng hàm prepareForReuse của UITableViewCell
AFNetworking có một category rất hữu ích cho việc download ảnh là UIImageView+AFNetworking. Ta thường hay dùng hàm này trong các method để configure cho một custom UITableViewCell chứa một UIImageView. Ví dụ:
- (void)configureForSearchResult:(SearchResult *)searchResult{ self.nameLabel.text = searchResult.name; self.artistNameLabel.text = searchResult.artistName; NSURL *thumbnailURL = [NSURL URLWithString:searchResult.artworkURL60]; UIImage *placeholderImage = [UIImage imageNamed:@"Placeholder"] [self.artworkImageView setImageWithURL:thumbnailURL placeholderImage:placeholderImage]; }
Nên nhớ rằng UITableViewCell có thể được tái sử dụng. Vì vậy, khi ta scroll table thì một vài cell sẽ được tái sử dụng trong khi đó image của cell đó vẫn đang được AFNetworking download. Ta không cần image đó nữa mà thay vào đó download image mới, vì vậy ta nên cancel việc download của các image cũ. Để làm vậy, ta tận dụng hàm prepareForReuse của UITableViewCell:
- (void)prepareForReuse{ [super prepareForReuse]; [self.artworkImageView cancelImageRequestOperation]; self.nameLabel.text = nil; self.artistNameLabel.text = nil; }












