2011-01-19 2 views
0

사용자 정의 셀과 함께 UITableView를 사용하고 있습니다. 클래스 A의 객체를 포함하는 배열이 있습니다. cellForRowAtIndexPath에 배열을 통해 이동하여 각 객체를 각 셀에 할당합니다. 먼저 25 행을로드합니다. 그런 다음 더 많은로드를 누르면 다른 25 개의로드가로드됩니다. 내가 위아래로 움직일 때 나는 잘 작동한다. 하지만 문제가 더 많은 25 세포를로드 할 때 발생합니다. 테이블 상단으로 이동하면 앱이 다운됩니다. 난 애플 리케이션을 디버깅하고 내가 배열에서 할당 객체가 아무 것도 없다는 의미의 0xffffffff 값을 가지고있는 것을 발견했습니다. 그것은 항상 테이블의 네 번째 셀에서 발생합니다. 아무도 왜 이런 일이 일어나는지 도와 줄 수 있습니까 ??사용자 정의 테이블에 더 많은 행을로드 한 후 iphone 응용 프로그램이 충돌합니다.

thanx

답변

1

콘솔에 표시되는 내용은 무엇입니까? 흔히 좋은 힌트이지만, EXC_BAD_ACCESS라면 메모리 손상에 대해 걱정할 필요가 있습니다.

나는이 블로그를 통해 충돌을 이해하고 EXC_BAD_ACCESS를 디버깅하는 방법을 설명합니다.

http://loufranco.com/blog/files/Understanding-EXC_BAD_ACCESS.html

  1. 실행 빌드 및 분석 -이 좀비와
  2. 실행이 활성화보고하는 문제를 해결 (위의 링크에서 설명)

대부분의 문제는 그 두 가지를 수행하여 해결된다 . 그렇지 않으면 디버그 Malloc (또한 링크에서 설명)

+0

것은 시뮬레이터에서 일어나지 않습니다. 기기에서만 발생합니다. 나는 그것의 기억 문제를 확신합니다. 나는이 메모리 문제를 해결하는데 약간 혼란 스럽다. – Tarang

+0

메모리 문제가 발생하면 모든 배팅이 해제됩니다. 그것은 장치 또는 시뮬레이터 또는 둘 다 또는 둘 다에서 작동하지 않을 수 있습니다. 시뮬레이터에서 좀비를 켰다면 여전히 발견 할 수 있습니다. 충돌하지는 않지만 좀비는 계속 표시됩니다. –

+0

좀비를 활성화하고 장치에서 수행하는 것과 동일한 단계를 수행했습니다. 하지만 얼마나 많은 셀을로드해도 문제가 발생하지 않습니다. 더 많은 데이터를로드 할 때마다 배열이 커지고 특정 개수의 카운트 후 마지막 몇 개의 오브젝트 데이터가 메모리에서 꺼집니다. 객체의 충돌로 인해 메모리 주소가 충돌합니다. 0xffffffff – Tarang

관련 문제