我有一个UITableView,其中包含一个包含两个标签的单元格。表视图链接到dataSource和delegate,单元格中的标签链接到IBOutlet,不是。它看起来像这应该工作,但下面的代码没有运行所以单元格或标签没有填充文本。有任何想法吗?或者我遗失的任何东西?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"theLabelCell";
CustomClassCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
CustomClassText *customText = _arrayThatHasText[indexPath.row];
if (![self isSelectionMode]) {
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
cell.TitleLabel.text = customText.firstLabel;
cell.TextLabel.text = customText.secondLabel;
return cell;
}
答案 0 :(得分:1)
您是否记得还要注册小区标识符以供重用?
- (void)viewDidLoad
{
[super viewDidLoad];
[self.tableView registerNib:[UINib nibWithNibName:@"CustomClassCell" bundle:nil] forCellReuseIdentifier:@"theLabelCell"];
}
答案 1 :(得分:1)
如果您没有看到任何单元格,请检查numberofSections
和numberOfRowsInSection
委托方法是否未返回0
答案 2 :(得分:1)
您的_arrayThatHasText
何时填充?问题很可能是数据源(_arrayThatHasText
)在调用numberofSections
和numberOfRowsInSection
委托方法之前被实例化,然后在调用这些方法之后数据源正在被填充实际数据 - >这将导致您遇到委托方法中的0值。
您可能希望尝试在[self.tableView reloadData]
或ViewWillAppear
方法结束时发出ViewDidAppear
来电,看看是否有帮助。