Ich erhalte diese Warnung vom Storyboard - Prototyp-Tabellenzellen müssen wiederverwendbare Kennungen haben.
Ich habe den Bezeichner im Attributinspektor umbenannt, aber die Warnung scheint nicht entfernt worden zu sein.
Irgendwelche Vorschläge?
Ich erhalte diese Warnung vom Storyboard - Prototyp-Tabellenzellen müssen wiederverwendbare Kennungen haben.
Ich habe den Bezeichner im Attributinspektor umbenannt, aber die Warnung scheint nicht entfernt worden zu sein.
Irgendwelche Vorschläge?
Antworten:
Um die Warnung auszuschalten, müssen Sie der Zellenkennung einen Namen geben:
Da es sich bei dem Storyboard tatsächlich um eine XML-Datei handelt, besteht ein weiterer Trick darin, das Storyboard mit einem beliebigen Texteditor (nicht Xcode!) Zu öffnen und zu versuchen, alle tableViewCell-Knoten zu finden. Zum Beispiel drücken CMD + F , geben Sie ein <tableViewCell contentMode="scaleToFill"
und drücken Sie die Eingabetaste. Sie werden wahrscheinlich herausfinden, dass die Zeilen mit diesen identisch sind:
<tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="GenericCellID" id="kBr-Qn-Tki">
Bitte achten Sie auf den reuseIdentifier="GenericCellID"
Schlüsselwert. Die Zeilen, die die Warnung auslösen (ohne Wiederverwendungskennungen), haben keinen solchen Schlüsselwert. Schauen Sie sich die Knoten oben in Ihrem Texteditor an und Sie werden einen tableViewController
Knoten mit dem Klassennamen sehen, den Sie im Storyboard-Editor von Xcode überprüfen und gemäß der Antwort von aleroot korrigieren müssen.
Open As
>Source Code
Wenn Ihre Xcode-Warnung auch nach dem Einstellen des reuseIdentifier nicht verschwindet, versuchen Sie das Menü "Produkt -> Reinigen". Das hat mir geholfen und danach wurde die Warnung nicht mehr angezeigt.
Da ein Doppelklick auf diese Warnung zu einer wilden Gänsejagd führen kann (die spezifische UITableViewCell wird nicht ausgewählt), wollte ich nur hinzufügen, dass einige dieser Warnungen automatisch aufgelöst werden, andere jedoch nicht .
Wenn Sie sicher sind, dass Sie alle Ihre Zellen in Storyboard markiert haben, erstellen Sie das Projekt neu - Ihre Warnung verschwindet möglicherweise (wie meine).
Ich habe diese Warnung für Xcode 7 erhalten. Ich arbeite mit Swift. Ich habe den Navigationscontroller für den anfänglichen Ansichtscontroller nicht hinzugefügt. Als ich das tat, bekam ich diese Warnung von StoryBoard. Was ich getan habe ist:
Die Warnung geht .. wenn nicht sdk reinigen :)
Stellen Sie sicher, dass Sie die Wiederverwendungskennung für das Objekt und nicht die Wiederherstellungs-ID festlegen . Beide sind über das Storyboard verfügbar und leicht zu verwechseln.
In der Storyboard - XML - Datei möchten Sie zu Einstellung reuseIdentifier
, nicht restorationIdentifier
.
Ich habe festgestellt, dass dieser Fehler auftritt, wenn Sie mehrere Prototypzellen (in den Tabellenansichtseigenschaften) haben und nicht allen wiederverwendbare Kennungen zugewiesen haben .
Dies dient zum programmgesteuerten Einstellen der Wiederverwendungskennung
-(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;
}