2010-04-11 5 views
0

그룹화 된 테이블보기를 만드는 중입니다. 데이터가 올바르게로드되지만 그룹화 된보기에는 많은 빈 흰색 공백이 있습니다. 몇 번 위아래로 스크롤하면 인구가 발생합니다. 도움?Groupted 테이블보기 셀이로드되지 않습니다.

static NSString *Id= @"CustomDiagChargeID"; 
CustomCellDiagCharges *cell = (CustomCellDiagCharges *)[tableView dequeueReusableCellWithIdentifier:Id]; 
if(cell == nil) { 
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCellDiagCharges" owner:self options:nil]; 
    for (id oneObject in nib) { 
     if([oneObject isKindOfClass:[CustomCellDiagCharges class]]) 
      cell = (CustomCellDiagCharges *) oneObject; 
    } 
} 

NSUInteger row = [indexPath row]; 
DiagDetails *rowData = [preferences getDiagElementAt:indexPath.section row:row]; 
cell.code.text = rowData.ICD9Code; 
cell.desc.text = rowData.ICD9Desc; 
return cell; 

감사합니다,
테이야 :

여기 내 getCellForRowIndexAtPath 방법입니다.

+0

"NSUInteger row ="위에 어설 션을 추가하여 셀이 0이 아닌지 확인할 수 있습니까? 또한 정적 데이터로 셀 채우기를 시도 할 수 있습니까? 그리고 [NSString stringWithFormat : @ "Cell % d : % d", indexPath.section, indexPath.row]와 같은 것을 시도해보십시오. ?? – jessecurry

+0

같은 문제가 정적 데이터로 채워지려고했습니다. 그게 어떻게 든 물건을 변경하면 그룹화 된 tableView를 사용하고 있습니까? –

답변

0

나는 백그라운드와 셀 알파로 놀고 있었고, 어떻게 든 모든 셀이로드 중입니다. 문제가 무엇인지는 확실하지 않습니다. 오 잘 소프트웨어.

-2

한편으로는 Id을 정적으로 선언하면 안됩니다. 첫 번째 이벤트 루프가 완료되고 문자열이 할당 해제 된 후 포인터가 유효하지 않습니다.

업데이트 : 올바르지 않습니다. 아래를 참조하십시오.

+0

"String Programming Guide"의 문자열 상수입니다. 소스 코드에서 문자열 개체를 만드는 가장 간단한 방법은 Objective-C @ "..."구문을 사용하는 것입니다. NSString * temp = @ "/" tmp/scratch "; 이 방법으로 문자열 상수를 만들 때 7 비트 ASCII 문자 이외의 다른 문자는 사용하지 마십시오. 이러한 객체는 컴파일 타임에 생성되며 프로그램 실행 중에 존재합니다. 컴파일러는 이러한 객체 상수를 모듈 단위로 고유하게 만들고 다른 객체와 마찬가지로 유지할 수는 있지만 ** 결코 할당을 해제하지 않습니다. – jessecurry

+0

와우, 맞습니다. 편집 됨. – Tom

1

스크롤로 인해 셀 내용이 변경되면 거의 항상 셀 식별자 문제로 인해 발생합니다. CustomCellDiagCharges.xib에서 CustomCellDiagCharges 개체를 검사하고 식별자 필드가 코드에서 사용중인 셀 식별자 (CustomDiagChargeID)와 일치하는지 확인하십시오.

또한 앱에 다른 테이블이있는 경우 동일한 셀 식별자를 다른 UITableViewCell 하위 클래스와 함께 사용하고 있지 않은지 확인하십시오.

+0

그곳에 행운이 없다. 식별자가 맞다. 그게 도움이된다면 그룹화 된 tableView입니까? –

+0

흠 ... 놀랍습니다. 재사용 식별자 문제로 인해 발생하지 않은 불일치를 보여주는 스크롤링에 대해 처음 들어 본 적이 있습니다. NSLog (@ "섹션 : % d, 행 : % d, 코드 : '% @', desc : '% @'), indexPath.section, indexPath.row, cell.code.text, cell.desc.text); 리턴 셀 직전. 셀이 비어있을 때 레이블의 텍스트 속성을 채 웁니까? – cduhn