我从情节提要板上收到此警告-原型表单元必须具有重用标识符。
我已在属性检查器中重命名了标识符,但它似乎并未删除警告。
有什么建议?
我从情节提要板上收到此警告-原型表单元必须具有重用标识符。
我已在属性检查器中重命名了标识符,但它似乎并未删除警告。
有什么建议?
Answers:
要关闭警告,您必须给单元格标识符命名:
由于情节提要实际上是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"
键值。发出警告的行(没有重用标识符)将没有这样的键值。tableViewController
根据aleroot的回答,在文本编辑器中查看上面的节点,您将看到具有类名称的节点,需要在Xcode的故事板编辑器中签入并进行修复。
Open As
Source Code
如果即使在设置了复用标识符之后,您的Xcode警告仍然没有消失,请尝试菜单“产品->清洁”。这对我有所帮助,此后,警告不再显示。
我注意到当您有多个原型单元(在tableview属性中)并且没有给它们全部重复使用标识符时,会发生此错误。
这用于通过编程设置重用标识符
-(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;
}