J'ai créé un utilisateur usermodel.xcdatamodeld avec une entrée: UserBase et j'ai ajouté un attribut Quel nom est IdroitID et Type est entier 32.
Après cela, je crée des cours pour cela avec fichier-> nouveau fichier-> nsmanagedObject Sous-classe, qui crée UserBase.h et .m automatiquement. p>
dans mon contrôleur a importé le fichier userBase.h et créez une propriété: p>
Undefined symbols for architecture i386: "_OBJC_CLASS_$_NSEntityDescription", referenced from: objc-class-ref in LoginController.o "_OBJC_METACLASS_$_NSManagedObject", referenced from: _OBJC_METACLASS_$_UserBase in UserBase.o "_OBJC_CLASS_$_NSManagedObject", referenced from: _OBJC_CLASS_$_UserBase in UserBase.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)
3 Réponses :
Les symboles non définis signifient généralement que certains framework sont manquants. Les cadres sont des bibliothèques de classes pré-compilées que vous pouvez utiliser sur votre application. P>
Pour ajouter un cadre sur Xcode 4: P>
Et c'est tout! Les classes contenues dans ce cadre seront disponibles sur votre code aussi longtemps que vous faites le bon #Import. P>
Figure 1: P>
p>
Pour maintenir votre projet commandé, je vais suggérer de faire glisser le cadre nouvellement ajouté dans le groupe "Frameworks". P>
Aussi ... Ajouter #import
Si vous avez importé le fichier d'alerte dans votre projet, assurez-vous que la case Cochez cochée sur l'adhésion à la cible! J'ai eu le même problème et après avoir coché la boîte et que l'erreur a disparu! P>
Essayez de supprimer votre classe NSManèdeObject du projet et de le générer à nouveau. Cela m'a aidé;) p>
Essayez d'ajouter la coredata.framework.