2013-11-04 1 views
0

새로운 기능입니다. 테이블 뷰와 텍스트 필드가 있습니다.메서드에서 cellForRowAtIndexPath가 호출되지 않았습니다. shouldChangeCharactersInRange

나는 다음과 같은 방법을 한

텍스트 필드

의 입력을 기반으로의 tableview의 요소 목록을 표시 할 텍스트 필드 편집 할 때 :

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { 

    NSString *searchText = [[NSString alloc] initWithString:[textField.text stringByReplacingCharactersInRange:range withString:string]]; 

    [self.mainTableView reloadData]; 
} 

하지만 방법 cellForRowAtIndexPath가 호출되지 않습니다. 왜? dataSource를 초기화하고 위임했습니다.

+0

이 메서드에 중단 점을 넣고 mainTableView가 유효한지 확인합니다. –

답변

1

cellForRowAtIndexPath은 표시 할 셀이 하나 이상이고 테이블 뷰가 표시되면 호출됩니다. 일부 요구 사항이 누락되었습니다. numberOfRowsInSection이 0과 다른 값을 반환하는지 확인 했습니까?

+0

나는이 문제를 발견했다. numberOfRowsInSection에서 올바른 값을 반환하지 않았습니다. 고맙습니다! –

+0

각 셀의 요소가 보이지 않습니다. 왜 그런지 알고 있니? –

+0

'cellForRowAtIndexPath' 메소드를 확인하십시오. 그것의 요소가 null인가, 서브 뷰로서 추가되어 있지 않은가? – KIDdAe

관련 문제