方法cellForRowAtIndexPath不从方法调用shouldChangeCharactersInRange

问题描述:

我是新来的ios。我有一个tableview和一个文本框。方法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不叫。为什么? 我做了intitialize dataSource和委托。

+0

在此方法中放置一个断点并检查mainTableView是否有效。 –

cellForRowAtIndexPath被调用,如果至少有一个单元格要显示,并且tableview是可见的。 似乎缺少一些要求。 您是否检查numberOfRowsInSection是否返回与0不同的东西?

+0

我发现这个问题:)。我没有在numberOfRowsInSection中返回正确的值。谢谢! –

+0

我没有看到每个单元格中的任何元素。你有什么想法,为什么? –

+0

只要检查你的'cellForRowAtIndexPath'方法。它中的元素是否为空或不作为子视图添加? – KIDdAe