2009-10-11 5 views
3

J'ai une application de cacao-contact, en utilisant le cadre de données de base. J'ai créé un xcdatamodel avec deux entités: Program et ProgramReplay.
ProgramReplay a une relation à Program, et une relation inverse existe dans la suite. J'ai enregistré ceci, et utilisé la fonctionnalité de XCode pour générer les classes pour ces deux entités. Les en-têtes générés sont les suivantes:Cocoa-Touch, Données de base: erreur de lien, symbole NSManagedObject introuvable

#import <CoreData/CoreData.h> 
@class ProgramReplay; 
@interface Program : NSManagedObject 
{ 
} 

// other properties here, removed them to keep it short 
@property (nonatomic, retain) NSSet* replays; 
@end 

@interface Program (CoreDataGeneratedAccessors) 
- (void)addReplaysObject:(ProgramReplay *)value; 
- (void)removeReplaysObject:(ProgramReplay *)value; 
- (void)addReplays:(NSSet *)value; 
- (void)removeReplays:(NSSet *)value; 
@end 

et

#import <CoreData/CoreData.h> 
@class Program; 
@interface ProgramReplay : NSManagedObject 
{ 
} 

@property (nonatomic, retain) NSDate * date; 
@property (nonatomic, retain) Program * program; 
@end 

Je n'ai pas commencé à utiliser ces deux classes partout encore, mais lorsque je tente de les construire que je reçois les erreurs de liaison étranges suivants:
".objc_class_name_NSManagedObject", referenced from:
.objc_class_name_Program in Program.o
.objc_class_name_ProgramReplay in ProgramReplay.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

Qu'est-ce que je fais mal?

Répondre

6

Il semble que vous n'avez pas lié dans le cadre CoreData. Assurez-vous que "CoreData.framework" fait partie de la phase "Lier les binaires avec les bibliothèques" de la cible que vous construisez. Ajoutez également #import <CoreData/CoreData.h> dans le fichier .h.

+0

Aussi ... ajoutez '#import ' dans votre fichier "pch" – refaelos

Questions connexes