2009-10-11 2 views
3

У меня есть приложение для какао-touch, использующее базовую структуру данных.Cocoa-Touch, Core Data: ошибка компоновщика, символ NSManagedObject не найден

Я создал xcdatamodel с двумя объектами: Program и ProgramReplay.
ProgramReplay имеет отношение к Program, а обратная связь существует в дальнейшем.

Я сохранил это и использовал функцию XCode для создания классов для этих двух объектов. Сформированные заголовки следующим образом:

#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 

и

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

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

я не начал использовать эти два класса еще где-нибудь, но когда я пытаюсь построить их я получаю странные ошибки Сшивание
".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

Что я делаю неправильно?

ответ

6

Похоже, что вы не связаны в каркасе CoreData. Убедитесь, что «CoreData.framework» является частью фазы «Связать бинарные файлы с библиотеками» целевой вами цели. Также добавьте #import <CoreData/CoreData.h> в .h файл.

+0

Также ... добавьте '#import ' в ваш файл "pch" – refaelos

Смежные вопросы