2011-09-22 4 views
1

테이블보기에 단추가 포함 된 사용자 지정 셀이 있습니다. 버튼은 기본적으로 사용자가 목록의 특정 항목을 체크하기위한 "체크 상자"역할을하는 토글로 사용됩니다. 이러한 테이블 셀의 단추가 dequeuereusablecellwithidentifier의 결과로 메모리 위치를 공유하는 것으로 보인 문제가있었습니다. 버튼을 누를 때마다 목록의 4 번째 또는 5 번째 버튼을 누를 수도 있습니다.단추 메모리 문제가있는 사용자 지정 셀

메소드의 셀을 배열로 변경하여 테이블 뷰를 채 웁니다. 이것은 달성하기 위해 노력하고 있지만, 큰 행 수를 다룰 때 문제가된다. tableview 자체는 빠르게 실행되지만 초기로드는 100 개가 넘는 행이있을 때 3-4 초가 될 수 있습니다. 셀을 만들고 테이블 뷰에 채우는 반복은 상당히 번거롭다.

내부의 단추에 고유 한 메모리를 유지하면서 다른 방법으로 사용자 지정 셀과 단추를 사용하여 테이블 뷰를 채울 수 있습니까?

도움이 될 것입니다. 당신은 확실히 방법을 워크 dequeuereusablecellwithidentifier 세포의 생성을 변경하지 않으

감사합니다 :)

답변

1

는 이유로 당신의 보는위한 아주 좋은 일이다.

해결책은 NSNumber로 가득 찬 NSArray와 같은 별도의 데이터 구조에서 버튼/체크 상자 누름 결과를 저장해야한다는 것입니다. 테이블이 스크롤되고 셀이 재사용되면 체크 상자의 상태를 NSArray를 기반으로해야하는 상태로 재설정합니다.

행운을 빈다.

+0

확실히 좋은 생각입니다. 나는 이것을 시험 할 것이다! 감사. –

+0

후속 조치로. 나는이 방법을 구현했고, 내가 필요한 것에 효과가 있었다. 응용 프로그램은 상당히 빠르게로드되고 일반적으로 부드럽게 실행됩니다. 다시 한 번 감사드립니다! –

+0

그게 좋습니다! 그것을 듣고 기뻐. – kris

관련 문제