我有一个历史记录页面,这是一个包含5行的UItableview。我已将原型单元格设置为我想要的规格,并将此文本添加到相应的historyviewcontroller.h文件中:
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 5;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"HistoryItem"];
return cell;
}
当我运行应用程序时,我没有看到任何单元格。我显然错过了一些东西,但我看不清楚。
答案 0 :(得分:5)
您需要实际创建单元格。 dequeueReusableCellWithIdentifier仅检索已创建的单元格,而不创建新单元格。
以下是如何操作:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
static NSString *CellIdentifier = @"HistoryItem";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
//if cell is not nil, it means it was already created and correctly dequeued.
if (cell == nil) {
//create, via alloc init, your cell here
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
return cell;
}