모델 파일에서 생성 한 핵심 데이터 클래스가 있습니다.NSManagedObject 클래스에 특성을 추가하는 방법은 무엇입니까?
그냥 같은:
을 그리고 나는 이런 그 실체에 대한 NSManagedObject의 하위 클래스를 생성하는 편집기를 사용 :
그리고 이것은 클래스 나를 위해 생성 된 :
이제 대상 엔티티에 다른 속성을 추가하고 싶습니다. 분명히 클래스에 속성을 추가 할 수 없으므로 그렇게하는 것이 옳습니다.
모델 파일에서 생성 한 핵심 데이터 클래스가 있습니다.NSManagedObject 클래스에 특성을 추가하는 방법은 무엇입니까?
그냥 같은:
을 그리고 나는 이런 그 실체에 대한 NSManagedObject의 하위 클래스를 생성하는 편집기를 사용 :
그리고 이것은 클래스 나를 위해 생성 된 :
이제 대상 엔티티에 다른 속성을 추가하고 싶습니다. 분명히 클래스에 속성을 추가 할 수 없으므로 그렇게하는 것이 옳습니다.
@property (nonatomic, retain) NSString * someProperty;
Thanksss :
NSManagedObject + Custom.h을
#import <CoreData/CoreData.h>
@interface NSManagedObject (Custom)
- (NSString *)someProperty;
@end
NSManagedObject + Custom.m
내가 좋아하는있는 NSString 속성을 추가 할 말할 수#import "NSManagedObject+Custom.h"
@implementation NSManagedObject (Custom)
- (NSString *)someProperty {
@throw [NSException exceptionWithName:@"someProperty Not Overridden" reason:@"Must override someProperty on NSManagedObject class" userInfo:nil];
return nil;
}
@end
대상 .m
#import "Target.h"
#import "NSManagedObject+Custom.h"
@implementation Item
@dynamic body;
@dynamic time;
- (NSString)someProperty {
return @"Some property";
}
당신은 속성이 다음 나는 .h
및 .m
파일을 핵심 데이터 엔티티에 추가하고 삭제하고 다시 생성 할 지속되어야합니다.
새 속성을 유지할 필요가없는 경우 일반 클래스와 마찬가지로 생성 된 파일에 추가 할 수 있습니다. 이러한 속성은 유지되지 않으므로 NSPredicate
을 사용할 때 쿼리 할 수 없습니다. 명심해야 할 점은 앞으로 모델을 변경하고 해당 파일을 재생성하면 추가 변경 사항을 저장해야한다는 것입니다. 엔티티 클래스에 사용자 정의 변경 사항을 추가하는 카테고리가 있으면 더 편리합니다.
Add Model Version
을 선택하여 새 버전의 모델을 만드십시오.body
및 time
아래 클래스에 속성을 추가하거나 해당 클래스를 삭제하고 모델에서 다시 생성 할 수 있습니다.
모델에 추가하고 클래스 파일을 다시 생성합니다. – Larme
더 나은 접근법 : 컴퓨터 용 클래스와 u 용 클래스가 있어야합니다. http://rentzsch.github.io/mogenerator/ – vikingosegundo