サブクラスに実装されている場合、 、 などのNSManagedObject
メソッドは呼び出されません。その理由は何ですか?エンティティ「クラス」は、エンティティ モデル エディタでサブクラスに設定されます。awakeFromInsert
awakeFromFetch
NSManagedObject
イベント.m
#import "Event.h"
@implementation Event
@dynamic timeStamp;
- (void)awakeFromInsert {
NSLog(@"%s", __FUNCTION__);
[super awakeFromInsert];
}
- (void)awakeFromFetch {
NSLog(@"%s", __FUNCTION__);
[super awakeFromFetch];
}
@end
MyViewController (挿入)
- (void)insertNewObject:(id)sender {
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[self.fetchedResultsController fetchRequest] entity];
NSManagedObject *newManagedObject = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
[newManagedObject setValue:[NSDate date] forKey:@"timeStamp"];
NSError *error = nil;
if (![context save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}
モデル エディタのスクリーンショットを次に示します。
注: ARC をオンにして、Mountain Lion で Xcode 4.4.1 (iOS SDK 5.1) を使用しています。