搜索之后,我有一个包含新数据的数组。 我已通过打印调试确认了这一点
然后当它运行cellForRowAtIndexRow时,我的自定义单元格不会初始化。所以我添加了一个if语句来检查我的单元格是否为nil,以及它是否重新初始化它。但是,当返回单元格时,它不会在我的视图控制器上更新。
在我搜索后打印 cell.cellLabel.text 时,它是零。这很可能就是它没有更新的原因,即使我已经确认 direntry 中有数据
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UIImage *myImage = [UIImage imageNamed:@"Demo"];
static NSString *CellIdentifier = @"peopleCell";
PeopleCell *cell = (PeopleCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil){
cell = (PeopleCell *)[[PeopleCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
DirEntryItem *direntry;
if(tableView == self.searchDisplayController.searchResultsTableView){
direntry = [self.searchResults objectAtIndex:indexPath.row];
}else{
direntry = [self.peopleArray objectAtIndex:indexPath.row];
}
cell.name = direntry.fullname;
cell.phoneNum = direntry.phoneNum;
cell.email = direntry.email;
cell.admin = direntry.admin;
cell.cellLabel.text = direntry.fullname;
[cell.profile setImage:myImage];
return cell;
}