2012-08-28 2 views
0

셀의 모든 이미지로 인해 느린 프로세스로 한 번 테이블 셀을 만듭니다. 매우 희귀 한 것은 변화하지만, 내가 세포를 완전히 원할 때가 드문 경우가 있습니다. 내가 하나 만들 연관된 세포가없는 경우UITableView와 연결된 모든 테이블 셀을 새로 고치는 방법을 취소하는 방법

세포를 얻을 수있는 코드는

UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:PlaceholderCellIdentifier]; 

입니다.

UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:PlaceholderCellIdentifier]; 


if (cell == nil) 
{ 
    //create cell 
    return cell; 
} 
else 
{ 
    return cell; 
} 

이 테이블과 관련된 재사용 가능한 모든 셀을 덤프하는 방법이 있습니까? 그래서 내가 전화 할 때

[table reloadData]; 

그것은 새로운 세포 세트를 생성 할 것인가?

많은 감사, -code

+1

것은, 세포의 고정 된 금액 방금 재사용 가능한 세포를 큐에서 제거 할 수 없습니다 (당신은 테이블 뷰 컨트롤러 내에서 전화를 걸 가정)하지만, 항상 새로운 것을 만드십시오. 셀을 만들 때 nil을 셀 식별자로 지정하십시오. –

+2

왜 그냥 과거의 세포를 재사용하고 새 세포를 만들기 위해 던지기보다는 새로 고칠 수 없습니까? – Patrick

+0

xcode는 IDE 일 뿐이므로이 질문과 관련이 없습니다. – vikingosegundo

답변

1

According to this answer you can. 그러나 나는이에 대한 강력 조언을 . 계급 내부에 간섭하는 것은 나쁜 습관입니다.

나는 왜 당신이 이것을하고 싶어하는지 알지 못한다. 실제로 셀의 재사용은 프로세스 속도를 높이고 사용 된 메모리를 억제합니다. 처음부터 셀을 만드는 것이 실제로 재사용하는 것보다 빠를 수는 없습니다.

1

기존 셀을 재사용하면됩니다. 기존의 할당을 해제 할 필요가 없습니다.

다른 질문을하고 싶습니다. 업데이트 된 데이터가있는 모든 셀을 다시 표시하기 위해 테이블보기를 적용하는 방법을 묻고 싶을 수 있습니다 ...? 그럼 대답은 전화를 사용하는 경우

[self.tableView reloadData]; 

당신이 작은 필요한 경우

관련 문제