2014-03-25 4 views
1

xib에 사용자 정의 UITableViewCell이 정의되어 있습니다. 콘텐츠보기에는 레이블과 텍스트보기의 두 가지보기가 있습니다. 사용하여 내 테이블 뷰 컨트롤러에서 UITableViewCell 서브 뷰의 IBOutlet이 (NULL)

, 하나

JJDTextInputCell *cell = [[SDLTextInputCell alloc] init]; 

또는

JJDTextInputCell *cell = [tableView dequeueReusableCellWithIdentifier:@"TextInputCell" forIndexPath:indexPath]; 

테이블 뷰는 내가 사용 표시하려고 기본 텍스트 또는 텍스트가 표시되지 않습니다 그래서 함께 IBOutlet가 null

cell.descriptionLabel.text = @"foo"; 

interfa를 사용하여 만든 사용자 지정 UITableView 셀을 초기화하는 적절한 방법은 무엇입니까? 세 빌더?

+0

대신 셀을 등록하는

[self.tableView registerNib:[UINib nibWithNibName:@"TableViewCell" bundle:nil] forCellReuseIdentifier:"CellIdentifier"]; 

를 사용해야합니다 내가 당신이 원하는 것은 XIB에서 테이블보기에서 사용자 지정 셀을로드라고 생각합니다. 권리? – Pawan

답변

1

xib 파일에서 초기화하십시오.

JJDTextInputCell *cell = [[[NSBundle mainBundle] loadNibNamed:@"JJDTextInputCell" owner:self options:nil] objectAtIndex:0]; 
3

AFAIK, 테이블 셀을 대기열에서 제외하는 데는 두 가지 방법이 있습니다. 문서에서 here을 찾을 수 있습니다. Creating Table View Cells에서 찾으십시오. 항상 올바른 셀을 반환하는 dequeueReusableCellWithIdentifier:forIndexPath:을 사용하고 있지만 registerNib:forCellReuseIdentifier: 기능을 사용해야합니다. 수업을 등록해야만 유효한 셀을 얻을 수 있습니다. 참조 용으로 this 질문을 확인하십시오. 사용자 정의 셀 XIB를 사용하는 경우

2

당신이

[self.tableView registerClass:[TableViewCell class] forCellReuseIdentifier:"CellIdentifier"]; 
관련 문제