故事板警告:原型表单元格必须具有重用标识符

我从storyboard得到这个警告 – 原型表单元格必须有重用标识符。

我已经重命名属性检查器中的标识符,但似乎并没有删除警告。

有什么build议么?

要closures警告,您必须给单元格标识符命名:

在这里输入图像说明

另一种方法是在属性检查器中将表视图“原型单元格”属性设置为零,如果以编程方式使用.xib定义单元格的话。

在“属性”检查器中将原型单元格设置为0

由于storyboard实际上是XML文件,所以另一个窍门是用任何文本编辑器(而不是Xcode!)打开故事板,并尝试查找所有的tableViewCell节点。 例如,按CMD + F键入<tableViewCell contentMode="scaleToFill" ,然后按Enter键。 你可能会发现,与这一行相同的行:

 <tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="GenericCellID" id="kBr-Qn-Tki"> 

请关注reuseIdentifier="GenericCellID"键值。 发出警告(不重复使用标识符)的行将不具有此键值。 在文本编辑器中查看上面的节点,根据aleroot的回答,您将看到带有类名的tableViewController节点,您需要在Xcode的storyboard编辑器中进行检查和修复。

由于双击这个警告可能导致一些疯狂的追逐(特定的UITableViewCell没有被选中),只是想添加一些这些警告会自动解决, 有些则不会

如果你确信你已经在Storyboard中标记了所有的单元格,重build项目 – 你的警告可能会消失(就像我的)。

如果即使您设置了重新使用标识符,您的Xcode警告仍然不会消失,请尝试菜单“产品 – >清洁”。 这对我有帮助,之后,警告没有再出现。

我注意到,当你有多个原型单元格(在tableview属性),并没有给所有的重用标识符时发生这个错误。

标识符是您在.m文件中引用的名称。 未填充时,不能引用单元格。

这用于通过编程设置重用标识符

 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath (NSIndexPath*)indexPath { static NSString *cellIdentifier = @"wot"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath]; if (!cell) cell = [[UITableViewCell alloc] initWithStyle: someStyle reuseIdentifier: cellIdentifier]; return cell; } 

我得到了Xcode 7的这个警告。我正在使用Swift。 我没有为初始视图控制器添加导航控制器。 当我这样做..我从StoryBoard得到这个警告。 我做的是:

  1. 有两个赛段
    1. 从导航控制器到根视图控制器和
    2. 从根视图控制器到您的初始视图控制器。
  2. select连接根视图控制器到初始视图控制器的segue。
  3. 命名标识符
  4. select控制器的“原型”写入部分 – >在那里您将看到标识符作为选项。
  5. 粘贴与前面input的标识符相同的名称。

警告去..如果不清洁sdk 🙂

请确保您在对象上设置了“ 重用标识符 ”,而不是“ 还原ID” 。 两者都可以通过故事板,很容易混淆。

在storyboard XML文件中,您将要设置reuseIdentifier而不是restorationIdentifier

冰雹玛丽:重新启动XCode为我工作(但它可能只是一个手动重build是必需的)。