[ios/tutorial] Core Data - Creating and Saving Managed Objects
Creating Managed Objects
-
NSManagedObject 는 Core Data 의 model object 이다.
NSManagedObject 는 2개의 element 를 갖는다. entity description ( NSEntityDescription 과 managed object context ( NSManagedObjectContext ) 이다.
-
entity description 은 entity name 과 attribute, relationship 등을 가지고 있다.
아래 코드와 같이 하여 Model 객체를 얻을 수 있다.
AAAEmployeeMO *employee = [NSEntityDescription insertNewObjectForEntityForName:@“Employee” inManagedObjectContext:managedObjectContext];
Creating NSManagedObject Subclasses
-
CoreData 는 기본적으로 NSManagedObject instance 를 return 하지만, 모든 entity 의 subclass 를 만드는 것이 추천된다.
Subclass 를 만들면 편리 메소드들을 추가할 수도 있고, property 들도 추가할 수 있다.
@interface AAAEmployeeMO : NSManagedObject
@property (nonatomic, strong) NSString *name;
@end
@implementation AAAEmployeeMO
@dynamic name;
@end
-
@dynamic 은 complier 에게 variable 의 get set 이 runtime 에 결정될 것이라는 것을 알려준다.
Saving NSManagedObject Instances
-
NSManagedObject 를 만드는 것 자체가 persistent store 에 저장되는 것을 의미하는 것은 아니다.
만들었으면 managed object context 를 이용하여 저장해주어야 한다.
NSError *error = nil;
if ( [[self managedObjectContext] save:&error] == NO){
NSAssert(NO, @“Error saving context: %@\n%@“, [error localizedDescription], [error userInfo]);
}
'프로그래밍 놀이터 > iOS' 카테고리의 다른 글
[ios] NSError** 에 대한 nullable, nonnull warning 처리 (0) | 2017.11.08 |
---|---|
[ios] Core Data 사용 시 Cocoa error 1570 (2) | 2017.11.07 |
[ios/tutorial] Core Data - Creating and Modifying Custom Managed Objects (0) | 2017.11.05 |
[ios/tutorial] Core Data - Fetching Objects (0) | 2017.11.04 |
[ios/tutorial] Core Data - Initializing the Core Data Stack (0) | 2017.11.03 |
댓글