2011-02-12 2 views
1

그림과 같이 테이블보기가 있습니다. 그것은 데이터베이스에서 다양한 유럽 언어를 표시합니다. 테이블 뷰를 스크롤 할 때 스크롤이 부드럽 지 않으며 때로는 두 번째 또는 두 번째로 멈추게됩니다. 무엇이 잘못 될 수 있습니까?iPHONE : TableView 스크롤이 원활하지 않습니다 - 무엇이 잘못 될 수 있습니까?

내가 코드 아래 사용하여 언어를 디코딩하고 있습니다 :

NSString *cellText = [[langArray objectAtIndex:i] valueForKey:[NSString stringWithFormat:@"%@",lblshortName.text]]; 

    if (cellText != (NSString *)[NSNull null] && ![cellText isEqualToString:@""]) { 
     NSString *decodedString3 = [NSString stringWithUTF8String:[cellText cStringUsingEncoding:[NSString defaultCStringEncoding]]]; 

     [cellTextArray addObject:[NSString stringWithFormat:@"%@ : %@",lblshortName.text, decodedString3]]; 
    } 
    else { 
     [cellTextArray addObject:@"<empty>"]; 
    } 

enter image description here

+0

일반적인 iOS와 비슷한 소리입니다. – raidfive

+1

더 많은 코드를 게시하십시오. 구체적으로 어떻게 코드 조각이'cellForRowAtIndexPath'에서 사용되는지 알려주십시오. 시뮬레이터에서 실행되는 모든 모습에서 테이블보기에 '1 또는 2 초 지연'을 가져서는 안됩니다. – freespace

답변

2

내가 몇 일을 제안 ..

  1. 확인 당신이 셀을 재사용하는 경우, 경우 그런 다음 새 셀마다 카운터를 추가하여 교차 체크를합니다.

  2. 잠재적 인 누출, 메모리 할당 및 개체가 해제되었는지 확인하기 위해 정적 분석기와 계측기를 사용하십시오. 모든 것이 잘 경우 ... 다음 코드의 다른 부분을 보지 않고 아무 말도하기 어렵다

.. 당신이 할 수있는 한 가지 더는 테이블 뷰에 대한 데이터를 준비하기 위해 비동기 스레드를 사용하고 있습니다.

0

더 많은 코드를 제공하면 특히 테이블 뷰 셀을 사용하는 방법이 도움이됩니다. 테이블 뷰 셀은 성능 문제를 쉽게 일으킬 수 있기 때문입니다.

코드와 관련하여 전체 cellTextArray가 테이블보기의 데이터 소스를 초기화 할 때 테이블보기를 표시하기 전에 빌드 된 것처럼 보입니다. 옳은? 사전 구축 된 데이터는 일반적으로 성능에 좋을 수 있지만 배열이 실제로 너무 커서 메모리 문제가 발생하면 텍스트를 동적으로 작성하려고 할 수 있습니다.

가능성, 그러나, 내가 먼저 다음 사항을 확인합니다 :

  1. 은 테이블 뷰 셀 속성은

    을 재사용되고 있는가?
  2. 테이블 뷰 셀의 하위 뷰가 불투명합니까?
  3. 테이블보기 셀이 매번 전체 영역을 그리지 않습니까?
  4. 불필요하게 drawRect : 메서드를 직접 호출하지 않습니까? .layer 속성은 테이블 셀 정도의 서브 뷰의 .layer 속성에 액세스하는, 그래서 많은 장소에서 사용되는 경우
0

나는 그런 행동을 본 적 있어요?

관련 문제