Xcode 4.2 Kompilierung mit Prototyp-Zelle fehlgeschlagen

8

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?

    
Objective Coder 12.08.2011, 15:17
quelle

7 Antworten

31

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:

  1. Wechseln Sie zum Protokollnavigator im linken Bereich
  2. Wählen Sie "Erstellen"
  3. Sie sollten den / die Fehler sehen, einschließlich des fehlgeschlagenen Kompilierungsfehlers.
  4. Sie können das Erstellungsprotokoll für diesen Fehler erweitern, indem Sie auf das Symbol ganz rechts klicken (sieht wie eine Liste aus). Das sollte erweitern und den Fehler anzeigen, der die Probleme verursacht.
Tony Lenzi 23.11.2011 21:01
quelle
4

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";

    
f.perdition 23.04.2012 21:40
quelle
4

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.

    
Nutela 12.10.2012 14:56
quelle
1

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.

    
TroX 18.08.2011 16:19
quelle
1

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).

    
Symmetric 31.01.2012 21:00
quelle
1

Ich habe diesen Fehler erhalten, als ich versucht habe, eine / im Namen einer Storyboard-ID zu setzen. Stellen Sie sicher, dass Sie sichere Zeichen verwenden! (Doh!)

    
Jarson 09.11.2012 22:53
quelle
0

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.

    
iosMentalist 06.06.2012 12:21
quelle