Storyboard 장면에서 정적 셀을 사용하여 테이블 뷰 컨트롤러를 정의했습니다. 테이블 뷰 자체에는 여섯 개의 섹션이 있으며 각 섹션에는 하나 또는 두 개의 셀이 있습니다. 내보기 컨트롤러에이 방법에서 셀에 데이터를 쓰기 :정적 UITableViewCell은 CellForRowAtIndexPath에서 nil을 반환하지만 특정 섹션에만 적용됩니다.
- (void)setUpAllCells
{
//Charge Name
NSIndexPath *path = [NSIndexPath indexPathForRow:0 inSection:0];
TableViewCellTextField *currentTextField = (TableViewCellTextField *)[[self tableView] cellForRowAtIndexPath:path];
[currentTextField.textField setDelegate:self];
//Charge Description
path = [NSIndexPath indexPathForRow:1 inSection:0];
currentTextField = (TableViewCellTextField *)[[self tableView] cellForRowAtIndexPath:path];
[currentTextField.textField setDelegate:self];
...
path = [NSIndexPath indexPathForRow:0 inSection:5];
TableViewCellControl *currentControl = (TableViewCellControl *)[[self tableView] cellForRowAtIndexPath:path];
[currentControl setValue:m_data->trailBurnTime];
}
호출되는 : 나는 응용 프로그램을 실행할 때 나는 마지막을 제외하고 예상대로, 각 셀이 응답
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self setUpAllCells];
}
섹션.
마지막 섹션의 셀이 내 컨트롤러에 연결되어 있지 않아 스토리 보드 화면에서 기본값을 유지합니다. setUpAllCells에 중단 점을 설정하면 cellForRowAtIndexPath가 마지막 섹션에 대해 nil을 반환한다는 것을 알았습니다.
다른 형식의 다섯 개의보기 컨트롤러에이 형식을 사용했지만 이런 일이 발생하지 않았습니다.
는 여기에 지금까지 시도한 작업은 다음과 같습니다
- 내가 그 작동하지 않았다 내 자신의 사용자 정의 TableViewCells하고, 표준 UITableViewCells 이것을 테스트했습니다. 마지막 섹션은 항상 nil을 반환합니다.
섹션과 셀을 재배치했습니다. 마지막 섹션은 항상 nil을 반환합니다.
해당 섹션을 완전히 삭제했습니다. 다른 섹션은 여전히 정상적으로 작동합니다.
개의 섹션을 추가했습니다. 5 절의 내용은 CellForRowAtIndexPath에 nil을 반환합니다.
저는 여기를 잃었습니다. 나는 이것이 무엇을 일으킬 수 있는지 알 수 없다.
제안 사항?
테이블보기에 6 개의 섹션이있는 경우 마지막 코드 비트에서와 같이 섹션 6이 없습니다. – rdelmar
@rdelmar 으악. 나는 잘못 입력했다. 그것은 원래 코드에서 5였습니다. 그것은 질문의 맨 아래에 설명 된대로 수행 한 테스트에서 그대로 남겨 두었습니다. – bindsniper001