故事板警告:原型表单元格必须具有重用标识符
我从storyboard得到这个警告 – 原型表单元格必须有重用标识符。
我已经重命名属性检查器中的标识符,但似乎并没有删除警告。
有什么build议么?
要closures警告,您必须给单元格标识符命名:
另一种方法是在属性检查器中将表视图“原型单元格”属性设置为零,如果以编程方式使用.xib定义单元格的话。
由于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得到这个警告。 我做的是:
- 有两个赛段
- 从导航控制器到根视图控制器和
- 从根视图控制器到您的初始视图控制器。
- select连接根视图控制器到初始视图控制器的segue。
- 命名标识符
- select控制器的“原型”写入部分 – >在那里您将看到标识符作为选项。
- 粘贴与前面input的标识符相同的名称。
警告去..如果不清洁sdk 🙂
请确保您在对象上设置了“ 重用标识符 ”,而不是“ 还原ID” 。 两者都可以通过故事板,很容易混淆。
在storyboard XML文件中,您将要设置reuseIdentifier
而不是restorationIdentifier
。
冰雹玛丽:重新启动XCode为我工作(但它可能只是一个手动重build是必需的)。