2012-12-29 2 views
-1

cellForRowAtIndexPath가 잘못된 셀을 반환하고 따라서 잘못된 셀에서 다른 작업을 수행하고 다른 문제가 발생하는 문제가 있습니다.CellForRowAtIndexPath가 잘못된 셀을 반환합니다.

일부 UIImageViews (+ 텍스트 + 단추)를 맞추기 때문에 사용자 정의 셀을 만들었으므로 셀이 전체 화면을 차지합니다. 아래로 스크롤하면 두 개의 셀이 동시에 화면에 표시되며, 위쪽의 셀을 탭하면 아래쪽 셀의 내용으로 이어집니다 (셀 내부의 버튼 동작과 동일).

이 코드는 IB에만 해당하므로 코드의 모든 것을 다시 작성했지만 여전히 동일한 동작을하고 있습니다.

이 문제를 해결하고 올바른 indexPath를 유지 관리 할 수있는 방법이 있습니까?

+6

더 많은 정보가 없다면 .. 힌트 : 프레임 워크가 자주 잘못되었습니다. 구현이 버그가 있습니다./어쨌든, 질문을 풀어주세요. –

+4

구현을 게시 할 수 있습니까? –

+0

코드를 보지 않고는 아무도 도움을 줄 수 없습니다. –

답변

1

나는 당신의 관점이 잘못되었다고 생각합니다. cellForRowAtIndexPath가 잘못된 셀을 반환하지 않습니다. dequeueReusableCellWithIdentifier 또는 유사 항목을 사용하는 경우 재활용 된 새 셀을 반환해야합니다. 이 경우, dequeueReusableCellWithIdentifier는 방금 스크롤 한 오래된 셀을 반환합니다. cellForRowAtIndexPath 내에서 새로운 셀 (새로운 셀 또는 재활용 된 셀일 수 있음)을 가져 와서 올바른 값을 채우는 것은 여러분의 임무입니다. 그런 다음 반환하는 셀은 모든 올바른 값을 방금 작성했기 때문에 "올바른"셀이됩니다. 따라서 전달 된 인덱스 경로의 올바른 값이 cellForRowAtIndexPath가 반환하는 셀에 채워지는지 확인하기 위해 cellForRowAtIndexPath 구현을 살펴볼 것입니다.

관련 문제