Je reçois cet avertissement du storyboard - les cellules de table prototype doivent avoir des identificateurs de réutilisation.
J'ai renommé l'identifiant dans l'inspecteur d'attributs, mais il ne semble pas avoir supprimé l'avertissement.
Aucune suggestion?
Pour fermer l'avertissement, vous devez donner un nom à l'identifiant de la cellule:
Le storyboard étant en fait un fichier XML, une autre astuce consiste à ouvrir votre storyboard avec n'importe quel éditeur de texte (pas Xcode!) Et d'essayer de trouver tous les nœuds tableViewCell. Par exemple, appuyez sur CMD + F , tapez <tableViewCell contentMode="scaleToFill"
et appuyez sur Entrée. Vous découvrirez probablement les mêmes lignes que celle-ci:
<tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="GenericCellID" id="kBr-Qn-Tki">
Veuillez porter votre attention sur la valeur de clé reuseIdentifier="GenericCellID"
. Les lignes qui déclenchent l'avertissement (sans identificateurs de réutilisation) n'auront pas cette valeur de clé. Recherchez les nœuds ci-dessus dans votre éditeur de texte et vous verrez le nœud tableViewController
avec le nom de la classe que vous devez vérifier dans l'éditeur de storyboard de Xcode et le corriger, conformément à aleroot 'answer.
Si votre avertissement Xcode ne disparaît toujours pas, même après avoir défini le paramètre reuseIdentifier, essayez alors le menu "Produit -> Nettoyer". Cela a aidé pour moi et après cela, l'avertissement ne s'est plus manifesté.
Une grêle: redémarrer XCode a fonctionné pour moi (mais c'était probablement juste une reconstruction manuelle qui était nécessaire).
Étant donné qu'un double-clic sur cet avertissement peut donner lieu à une poursuite féroce (le UITableViewCell spécifique n'est pas sélectionné), je voulais simplement ajouter que même si certains de ces avertissements seront résolus automatiquement, certains ne le seront pas .
Si vous êtes sûr d'avoir étiqueté toutes vos cellules dans Storyboard, reconstruisez le projet - votre avertissement peut disparaître (comme le mien).
Assurez-vous que vous définissez identificateur de réutilisation sur l'objet plutôt que ID de restauration. Les deux sont disponibles via le storyboard et facilement confondus.
Dans le fichier XML du storyboard, il est préférable de définir reuseIdentifier
et non restorationIdentifier
.
J'ai reçu cet avertissement pour Xcode 7. Je travaille avec Swift . Je n'ai pas ajouté le contrôleur de navigation pour le contrôleur de vue initial. Quand je l'ai fait… j'ai reçu cet avertissement de StoryBoard. Ce que j'ai fait est:
L'avertissement va .. sinon nettoyer le sdk :)
J'ai remarqué que cette erreur se produit lorsque vous avez plusieurs cellules prototypes (dans les propriétés tableview) et que vous n'avez pas donné d'identificateur de réutilisation all.
L'identifiant est le nom auquel vous faites référence dans votre fichier .m. Lorsqu'il n'est pas rempli, il n'est pas possible de référencer la cellule.
Ceci pour définir l'identifiant de réutilisation par programme
-(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;
}