我正在尝试在表格视图中填充单元格(我有两种自定义类型的单元格,它们在情节提要中创建了不同的元素,标识符为“info_cell”和“person_cell”,在 UITableView 上方的分段控件上我决定加载什么 [tableView 重新加载]) . 当我尝试访问单元格内的 UILabels 时,我得到标签为空。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *CellIdentifier = (viewType == INFO_VIEW) ? @"info_cell" :@"person_cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
if(viewType == INFO_VIEW){
NSLog(@"INFO = %@", info_text_some_string);
UILabel *lblInfo = (UILabel *)[cell viewWithTag:200];
[lblInfo setText:info_text_some_string];
}
else{
// there is part for person
}
return cell;
}
当我在表格中只有一个原型单元格(UITableView 在 UIVewController 中)时,相同的代码可以工作。这里可能有什么问题,我检查了 100 次:单元标识符没问题,标签标签是 200。
这是 UISegmentControl 的操作
- (IBAction)changeView:(id)sender {
UISegmentedControl *segmentedControl = (UISegmentedControl *) sender;
NSInteger selectedSegment = segmentedControl.selectedSegmentIndex;
if (selectedSegment == 0) {
viewType = INFO_VIEW;
}
else{
viewType = PERSON_VIEW;
}
[tableView reloadData];
}
我为 tableView 添加了必要的方法并连接委托 i 数据源。有谁知道为什么它是 null ?