wake-up-neo.com

Swift Compiler Error: Verwendung des nicht aufgelösten Bezeichners 'name'

Ich habe versucht, eine Klasse mit dem Namen 'name' einzuschließen, und habe eine Fehlermeldung erhalten:

Swift Compiler Error: Use of unresolved identifier 'name'

Die Klasse existiert und enthält keine Kompilierungsfehler.

20
Vojtech Vrbka

Es könnte einige mögliche Probleme geben.

  1. Eine der Klassen hat ein Testziel und die andere nicht. Sie müssen sogar alle Ihre Klassen in das Testziel aufnehmen oder keine von ihnen.

  2. Wenn es sich um eine Objective C-Klasse handelt, überprüfen Sie, ob sich die Klasse in der ObjectiveC-Bridging-Headerdatei befindet.

  3. Wenn es sich um eine NSManagedObject-Unterklasse handelt. Fügen Sie @objc(className) vor der Klassendeklaration hinzu.

  4. Wenn es Teil eines anderen Frameworks ist, stellen Sie sicher, dass die Klasse oder Funktion public ist.

61
Vojtech Vrbka

Ich hatte auch diesen. Sie werden wahrscheinlich feststellen, dass Ihre erste Klasse in Ihrem Testmodul enthalten ist und dass "Name" nicht. Wenn Sie eine Klasse in das Testen einbeziehen, muss sich jede Klasse, auf die sie verweist, im Testen befinden.

6
Owen Godfrey

Ich hatte auch dieses Problem. Ich habe versucht, im Code der Klasse 2 auf Klasse 1 zu verweisen. Mein Problem war, dass Klasse 2 Zielmitgliedschaften in A und B hatte und Klasse 1 nur Zielmitgliedschaften in Klasse A.

Sie können dies beheben, indem Sie die Registerkarte "Dienstprogramme" (ganz rechts in der oberen Leiste des Xcode-Fensters) öffnen und sicherstellen, dass für beide Klassen im Unterabschnitt "Zielmitgliedschaft" dieselben Kontrollkästchen aktiviert sind.

6
Binya Koatz

Wurde das Problem gelöst von

Ziel -> Phasen erstellen -> Quellen kompilieren -> Klassendatei hinzufügen

1
Bindi