为什么UItableViewCell viewWithTag返回零?

为什么UItableViewCell viewWithTag返回零?,uitableview,viewwithtag,Uitableview,Viewwithtag,我使用的是IOX8和Xcode 6。我在序列图像板中创建了一个带有customtype单元格的表,并在其中放置了一个标签。我在IB中输入了标签的标签号,以便在代码中检索到标签的引用。 但是,当我尝试在“cellForRowAtIndexPath”中获取对标签的引用时,使用viewWithTag,标签的引用为零: 以下是cellForRowAtIndexPath中重要的两行代码: UITableViewCell *cell = [tableView dequeueReusableCellWithI

我使用的是IOX8和Xcode 6。我在序列图像板中创建了一个带有customtype单元格的表,并在其中放置了一个标签。我在IB中输入了标签的标签号,以便在代码中检索到标签的引用。 但是,当我尝试在“cellForRowAtIndexPath”中获取对标签的引用时,使用viewWithTag,标签的引用为零:

以下是cellForRowAtIndexPath中重要的两行代码:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"PlayerCell"];


UILabel *nameLabel = (UILabel *)[cell viewWithTag:1];
“cell viewWithTag:1”行返回零,我不明白为什么

我还尝试了“cell.contentView WithTag:1”,但也没有成功

这是IOS 8或Xcode 6中的错误吗

谢谢


-Malena尝试调试视图层次结构

  • 在调试模式下运行应用程序
  • 转到UITableViewController所在的视图
  • 在Xcode中单击:调试->查看调试->捕获视图层次结构
  • 检查是否正确分配了天气标签

我在使用IOS8和Xcode 6.1时遇到了同样的问题。我发现,如果启用
大小类
查看带标签
总是返回
nil
。我认为这可能是Xcode 6.x的一个bug。只需禁用
大小类
,一切正常。

取消选择故事板中的大小类选项,然后清理并构建应用程序。
现在应该可以工作了。

如果初始视图控制器是我的tableview,那么一切都按预期工作。当它来自另一个视图控制器时,我遇到了问题

就我而言,在以前的视图控制器中,我有:

RoutePreview *rs = [[RoutePreview alloc] init];
rs.rota = [availableRoutes objectAtIndex:indexPath.row];

[self.navigationController pushViewController:rs animated:YES];
我把这个换成了

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"SBIPhone" bundle:[NSBundle mainBundle]];
RoutePreview *xpto = [storyboard  instantiateViewControllerWithIdentifier:@"RouteSummary"];
xpto.rota = [availableRoutes objectAtIndex:indexPath.row];
[self.navigationController pushViewController:xpto animated:YES];
问题已经解决了


基本上不是直接实例化tableviewcontroller,而是通过标识符实例化它,并且不再在
tableView中使用nill单元格dequeueReusableCellWithIdentifier
CellViewWithTag:
返回nil。

尝试使视图“
已安装”
”,检查此项:

我错误地制作了两个
UITableViewCell
原型,一个在故事板上,我给了它标签号,另一个在代码中,我注册了它的Nib文件。这造成了一个混乱,我无法用标签获得视图。 我的,例如。,

让nib=UINib(nibName:“DetailTableViewCell”,bundle:nil)
tableView.register(nib,forCellReuseIdentifier:“headerViewCell”)


从我的代码中删除上面的代码片段解决了这个问题。希望这能帮助任何有类似问题的人

手机呢?手机也是零吗?在我的例子中,我的单元格为零。这个问题的答案是[Here][1][1]:也许你在视图可见之前加载了数据。。。尝试在ViewDidApparis中重新加载数据如果需要启用大小类,是否有解决方法?取消选中“清理和构建”并重新检查大小类选项需要在此“已安装”大小类上执行一些严肃的工作!!