2012-09-13 4 views
1

프로토 타입 테이블 셀이있는 UITableView가 있습니다. 다른 태그 (즉, 100,200,300)가있는 셀의 UIButton에서 상속 한 UIImageView와 U Button을 가지고 있습니다. IB를 사용합니다. dequeueReusableCellWithIdentifier를 사용하여 cellForRowAtIndexPath에있는 셀을 가져오고 항상 셀을 반환합니다.viewWithTag는 cellForRowAtIndexPath를 호출 할 때 nil을 반환합니다.

cellForRowAtIndex 경로가 처음 실행될 때 [셀 viewWithTag : TAG]는 각 UI 요소에 대해 올바른 개체를 반환하지만 두 번째 실행시 (스크롤 할 때) 모든 개체가 올바르게 반환됩니다. 두 개의 UIButton 개체는 무. (디버거에서 그들의 주소는 모두 0입니다).

다른 모든 테이블 뷰가 비슷한 코드로 작동하므로이 문제의 원인을 알 수 없습니다.

업데이트 : cellForRow의 Button에 대한 유형 ID를 만들면 nil이 아니지만 객체를 가리키면 (UIButton *)으로 표시됩니다. 그러나 ID 객체에 메시지를 보내는 [Cell ViewWithTag : Button1Tag] 다음에 코드가 있으면이 코드는 무효가됩니다. 아주 이상한.

+0

SDK 및 대상 장치? –

+0

iOS 5 iPhone 4S – Mark

답변

0

좋아, 내가 을 사용하여 세포 내부를 볼 수 XCode 이내 GDB (끝내)를 사용하여 끝났다. 그것은 내 태그가 사라진 것을 보여 주었고 그 다음에 원래의 IB 세트 태그를 덮어 쓰면서 행을 보관하기 위해 cellForRow에 태그를 설정한다는 것을 알았습니다.

+1

그래서 정확히 어떻게 수정 했습니까? 나도 같은 문제가있어. – Cbas

관련 문제