在我的应用程序中,我有ViewController,它将TableView与静态单元格放在一起。 StoryBoard看起来像这样:
在.m文件中我写道:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
[self.myTableView cellForRowAtIndexPath:indexPath];
}
但我收到一个错误:dataSource must return a cell from cellForRowAtIndexPath
我做错了什么?
答案 0 :(得分:1)
你做错了 - 你必须创建并返回一个单元格。
最常见的实现是:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
return cell;
}
从我看到你想要为不同的行返回不同的单元格 - 你必须在该函数中创建if / else块,这将使每种类型的唯一标识符出列正确的单元格类型。
如果您至少阅读其中一个教程,那将是件好事。这是应该帮助你的那个:http://www.appcoda.com/customize-table-view-cells-for-uitableview/