Я получаю это предупреждение от раскадровки - ячейки таблицы прототипов должны иметь идентификаторы повторного использования.
Я переименовал идентификатор в инспекторе атрибутов, но, похоже, предупреждение не снято.
Какие-либо предложения?
Я получаю это предупреждение от раскадровки - ячейки таблицы прототипов должны иметь идентификаторы повторного использования.
Я переименовал идентификатор в инспекторе атрибутов, но, похоже, предупреждение не снято.
Какие-либо предложения?
Ответы:
Чтобы отключить предупреждение, вы должны дать имя идентификатору ячейки:
Поскольку раскадровка на самом деле является 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
узел с именем класса, который нужно проверить в редакторе раскадровки Xcode и исправить, в соответствии с ответом aleroot.
Open As
>>Source Code
Если ваше предупреждение Xcode по-прежнему не исчезает даже после того, как вы установили reuseIdentifier, попробуйте меню «Продукт -> Очистить». Это помогло мне, и после этого предупреждение больше не появлялось.
Поскольку двойной щелчок по этому предупреждению может привести к некоторой погоне за дикими гусями (конкретный UITableViewCell не выбирается), просто хотел добавить, что, хотя некоторые из этих предупреждений будут автоматически разрешаться, некоторые не будут .
Если вы уверены, что пометили все свои ячейки в Storyboard, перестройте проект - ваше предупреждение может исчезнуть (как и мое).
Я получил это предупреждение для Xcode 7. Я работаю со Swift. Я не добавил контроллер навигации для контроллера начального представления. Когда я это сделал ... Я получил это предупреждение от StoryBoard. Что я сделал:
Предупреждение идет .. если не чистить sdk :)
Я заметил, что эта ошибка возникает, когда у вас есть несколько ячеек прототипа (в свойствах 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;
}