Ich probiere die neue Xcode 4.2 Beta aus und frage mich, ob mein Code falsch ist oder ob ich auf einen Bug stoße.
Das neue Storyboard-Feature ist vielversprechend, aber momentan sehr fehlerhaft. Im Moment habe ich ein einfaches Projekt mit einer Tabellenansicht erstellt. Diese Tabellenansicht wird "Gruppierter Stil" mit UITextFields sein. Die neue "Prototype Cell" -Funktion des Storyboards lässt Sie eine Prototypzelle in der GUI erstellen, die Sie mit dem "Reuse Identifier" in der Methode cellForRowAtIndexPath zeichnen können. Wenn ich ein UITextField in diese "Prototypzelle" ziehe und es herausziehe, funktioniert es großartig!
Aber! Wenn ich dieses Textfeld auf eine Steckdose in meinem Code verweise, erhalte ich den Fehler: Unkategorisiert Kompilierung fehlgeschlagen. Es konnte nicht in Pfad geschrieben werden: ... (Pfad zu DerivedData)
Warum ist das? Ist es ein Fehler? Jemand anderes bekommt das?
Ich habe dieses Problem in Xcode 4.2 (Endversion) schon mehrfach angesprochen.
Es hängt normalerweise mit einer Steckdose oder einer anderen Verbindung zusammen, die Sie eingerichtet haben, über die der Compiler verärgert ist (aus Mangel an einem besseren Begriff). Der Trick besteht darin, zu bestimmen, welche Verbindung (en) das ist.
Sie können die detaillierte Ausgabe des Build-Prozesses in Xcode 4.2 folgendermaßen anzeigen:
Wenn jemand immer noch ein Problem damit hat, habe ich die Lösung gefunden, Tags anstelle von Ausgängen zu verwenden.
CellForRowAtIndexPath
UILabel *titleLabel = (UILabel *)[cell viewWithTag:1001];
titleLabel.text = @"Name";
OK, ein Kollege von mir zeigte mir den Verbindungsinspektor und voila, da war eine alte Verbindung, die den Buildfehler verursachte. Wählen Sie also die .storyboard-Datei, öffnen Sie den Verbindungsinspektor (der letzte mit dem Pfeil) und Sie erhalten einen Überblick über alle Verbindungen.
Ich habe nicht die perfekte Lösung für Ihr Problem, aber ich hatte das gleiche und ich fand einen Weg, es funktioniert zu machen (ohne die Steckdose mit dem TableViewController zu verbinden).
Versuchen Sie einfach, Ihre Ansicht von Grund auf neu zu erstellen und Build & amp; Führen Sie jedes Mal, wenn Sie eine Komponente hinzufügen.
Um einen TableViewController = & gt; Testen Sie, ob eine leere Tabelle angezeigt wird.
Entwerfen Sie Ihre benutzerdefinierte Zelle und verknüpfen Sie die Outlets Ihrer Zelle damit. (Ohne die Klasse Ihrer TableViewCell zu ändern) = & gt; Testen Sie es erneut
Ändern Sie dann die Klasse des TableViewControllers in Ihre Klasse und Sie können nun auf die Ausgänge Ihrer Zelle zugreifen.
Es hat für mich funktioniert. Ich hoffe es wird für dich sein.
Ich musste den Ordner für mein Projekt in ~ / Library / Developer / Xcode / DerivedData / entfernen und neu erstellen. Sie können den Namen dieses Ordners in den Protokollen finden, indem Sie die obige Prozedur von Tony verwenden.
BEARBEITEN: Ich denke jetzt, das ist ein Fehler in Xcode (Version 4.2.1). Es ist intermittierend für mich. Um es zu reparieren, muss ich es neu aufbauen, manchmal zwei- oder dreimal. Build / Clean scheint nicht zu helfen.
EDIT 2: Ok, hoffentlich das eigentliche Problem. Ich hatte zwei Referenzen auf mein Storyboard im Projektnavigator (wahrscheinlich ein Überbleibsel des Kopierens / Neuaufbaus des Projekts). Ich habe nur einen von ihnen entfernt (stelle sicher, dass du nur die Referenz löschst!). Scheint wahrscheinlich das Problem zu sein (Xcode kompiliert die gleiche Datei zweimal gleichzeitig).
Sie sollten den Titel oder das Bild oder das Detailetikett nicht zu einer Verkaufsstelle hinzufügen.
Warum brauchen Sie sowieso eine Steckdose?
Sie werden implizit im Code geändert, wenn Sie die Protokolle implementieren.
Tags und Links xcode storyboard interface-builder