gpt4 book ai didi

ios - NSManagedObject 方法没有被调用

转载 作者:行者123 更新时间:2023-11-28 19:15:30 24 4
gpt4 key购买 nike

NSManagedObject 方法,即 awakeFromInsertawakeFromFetch 等在 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();
}
}

这是模型编辑器的屏幕截图。 enter image description here

注意:我在 Mountain Lion 上使用 Xcode 4.4.1 (iOS SDK 5.1),ARC ON。

最佳答案

确保您的类已添加到目标中,并确保它们已在模型中指定。如果您没有在每个实体的模型中指定子类,那么您将这些类包含在目标中并不重要;你只会处理一个 NSManagedObject。

关于ios - NSManagedObject 方法没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12248642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com