我正在使用 xCode 4.2 来构建 iPhone 应用程序。
我不知道为什么这个语句UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
有时是空的,有时不是。我将说明两种情况,第一种情况下单元格不为空,第二种情况下为空。让我从继承 UITableViewController 的 WSCSessionTable 中两个场景共享的示例代码开始:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
// we have null
}
return cell;
}
场景 1 - 单元格不为空
单元格不为空,当我像这样设置故事板时一切正常
场景 2 - 单元格为空
当我像这样设置故事板时,单元格始终为空:
这是实例化表格的按钮的事件处理程序。
- (IBAction)goToSession:(id)sender
{
wscAppDelegate *appDelegate = (wscAppDelegate *)[[UIApplication sharedApplication] delegate];
UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:[NSBundle mainBundle]];
wscSessions *childView = [storyboard instantiateViewControllerWithIdentifier:@"sessionstable"];
// wscSessions *childView = [storyboard instantiateViewControllerWithIdentifier:@"sessionstable"];
childView._arrData = appDelegate._arrSession;
childView._arrSpeaker = appDelegate._arrSpeaker;
childView.title = @"SEssions";
[self.navigationController pushViewController:childView animated:YES];
}
有谁知道为什么在场景 2 中单元格始终为空?它在我的代码的其他地方引起了问题。
附加信息 我评论的两个人告诉我确保单元格标识符设置为“单元格”。这是屏幕截图……这是正确的吗?在场景 1 和场景 2 中都是这样的。