Erreur de compilateur Swift: utilisation d'un identifiant non résolu "nom"

j'ai essayé d'inclure une classe appelée " nom " et j'ai une erreur:

Swift Compiler Error: Use of unresolved identifier 'name'

la classe existe et ne contient aucune erreur de compilation.

19
demandé sur Vojtech Vrbka 2014-09-29 15:43:28

5 réponses

  1. une des classes a un tester la cible et l'autre non. Vous devez même inclure toutes vos classes dans la cible de test ou aucune d'entre elles.

  2. si C'est la classe Objective C, vérifiez que la classe est dans le fichier d'en-tête de pont ObjectiveC.

  3. si c'est NSManagedObject subclass. Ajouter @objc(className) avant la classe déclaration.

  4. si cela fait partie d'un cadre différent, assurez-vous que la classe ou la fonction est public

61
répondu Vojtech Vrbka 2015-05-08 13:30:14

j'ai eu ce trop. Vous trouverez probablement que votre première classe est incluse dans votre module de test et que "nom" ne l'est pas. Simplement, si vous incluez une classe dans testing, alors chaque classe à laquelle elle fait référence doit être dans testing.

6
répondu Owen Godfrey 2014-11-04 09:21:35

j'ai eu ce problème aussi. J'essayais de faire référence à la classe 1 dans le code de la classe 2. Mon problème était que la classe 2 avait des adhésions cibles en A et B, et la classe 1 avait seulement des adhésions cibles en classe A.

vous pouvez corriger cela en ouvrant L'onglet Utilities (bouton droit le plus éloigné sur la barre supérieure de la fenêtre Xcode), et assurez-vous que les mêmes cases sont cochées pour les deux classes dans la sous-section Target Membership.

6
répondu Binya Koatz 2015-07-13 17:40:17

avez des problème résolu par

Cible -> Phases de construction -> Compiler les Sources -> Ajout d'un fichier de classe

1
répondu Bindi 2017-05-10 11:27:16

Ajouter un de plus à la liste.

  1. si elle fait partie d'un autre framework, assurez-vous que les paramètres "Build Active Architecture Only" sont les mêmes.
-1
répondu Mark A. Durham 2016-05-06 15:14:49