2010-06-10 2 views
0

나를 위해이 클래스를 생성 된 데이터 모델러 :어떤 카테고리입니까? 구현 위치는 어디입니까?

I이 무엇을보고
@interface Cat : NSManagedObject 
{ 
} 

@property (nonatomic, retain) NSSet* event; 

@end 


@interface Cat (CoreDataGeneratedAccessors) 
- (void)addEventObject:(NSManagedObject *)value; 
- (void)removeEventObject:(NSManagedObject *)value; 
- (void)addEvent:(NSSet *)value; 
- (void)removeEvent:(NSSet *)value; 

@end 

: 그것은 고양이에 대한 범주를 선언하지만,하는 .m 파일에서 구현이없는. 이것은 "비공식 프로토콜"입니까? 나는 그들이 (어떤 이유로 든) 나쁘다고 생각했다. 컴파일러가 이러한 메소드에 대한 구현이 누락되었다고 불평하지 않는 이유는 무엇입니까?

답변

3

코어 데이터는 마술입니다.

더 심각하게도 이러한 메소드는 런타임시 핵심 데이터로 생성되며 컴파일러 경고를 제거하기 위해 .h 파일에서 선언됩니다.

NB 누군가 다른 사람이 더 완전한 대답을 알고 있다면 나에게 메시지를 보내고 더 말해주세요!

+0

다른 사람이 더 완전한 대답을 알고 있으면 여기에 모두 게시하십시오.) – dontWatchMyProfile

+0

소리가 정확합니다. 그래도 뭔가를 놓쳤습니다. 컴파일러는'@implementation Cat (CoreDataGeneratedAccessors)'를 작성하면 경고합니다. –

관련 문제