이미지를 표시하는 사용자 정의 셀을 사용하여 UItableView를 작성합니다. 문제는 내가 아래로 스크롤하면 이전 셀이 dealloc을 수행하지 못하고 장치 메모리가 가득 차는 것입니다. 위에서 언급 한 바와 같이UITableView 셀에서 dealloc을 수행하지 않습니다.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"SimpleTableItem";
CustomTableCellView *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier forIndexPath:indexPath];
if (cell == nil) {
cell = [[CustomTableCellView alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:simpleTableIdentifier];
}
Article *tempArticle = [_objects objectAtIndex:indexPath.row];
cell.titel.text = tempArticle.title;
cell.subTitle.text = tempArticle.subTitle;
cell.category.text = tempArticle.category;
if(tempArticle.imageUrl){
[cell.image setImageWithURL:[NSURL URLWithString:tempArticle.imageUrl]];
} else {
cell.image.image = [UIImage imageNamed:@"video"];
}
return cell;
}
셀은 다시 사용되므로 테이블보기에서 할당 취소되지 않습니다. 중단 점을'if '안에 넣으면 테이블이 기존 셀을 큐에서 꺼낼 수 있기 때문에 초기로드 후에 중단 점에 더 이상 멈추지 않습니다. 문제는 다른 곳에서 발생할 가능성이 큽니다. –
당신은 세포가 방출되고 있지 않다고 추측하고 있습니다. 인스트루먼트를 통해 앱을 실행하고 두 개의 메모리 스냅 샷을 사용하여 어떤 오브젝트가 메모리를 사용하는지 정확히 확인하십시오. – Abizern
좋아요, I. 재사용하도록하십시오,하지만 왜 메모리를 채우고 있습니까? – Verendus