Swift+Xcode 6 beta 3+核心数据=awakeFromInsert未调用?

Swift+Xcode 6 beta 3+核心数据=awakeFromInsert未调用?,xcode,core-data,swift,Xcode,Core Data,Swift,我需要帮助 我正在创建新的基于文档的核心数据Cocoa项目。 将名为“实体”的实体添加到核心数据模型中。将“creationDate”属性添加到其中,并将其类型设置为Date。并从“编辑器”菜单创建NSManagedObject子类 现在,我将以下代码添加到“Entity.swift”文件中: override func awakeFromInsert() { super.awakeFromInsert() self.creationDate = NSDate() pr

我需要帮助

我正在创建新的基于文档的核心数据Cocoa项目。 将名为“实体”的实体添加到核心数据模型中。将“creationDate”属性添加到其中,并将其类型设置为Date。并从“编辑器”菜单创建NSManagedObject子类

现在,我将以下代码添加到“Entity.swift”文件中:

override func awakeFromInsert()  {
    super.awakeFromInsert()
    self.creationDate = NSDate()
    println("awakeFromInsert called")
}
现在,在我的NSPersistentDocument子类中,我编写了这样一个init方法:

init() {
    super.init()

    var context = self.managedObjectContext
    context.undoManager.disableUndoRegistration()
    var entity = NSEntityDescription.insertNewObjectForEntityForName("Entity", inManagedObjectContext: context)
    context.processPendingChanges()
    context.undoManager.enableUndoRegistration()

    println("\(entity)")
}
一切都在汇编。。。但从未调用awakeFromInsert!有趣的是,‘实体’对象不是零!它已创建,但尚未初始化。如果我用init方法写这行

entity.creationDate = NSDate()
然后creationDate属性将按预期设置为当前日期

但这还不是全部。如果我一步一步地调试执行,我可以看到执行进入“Entity.swift”文件,但从文件的顶部开始,然后立即删除并返回NSPersistentDocument子类文件


告诉我,是虫子吗?因为我厌倦了和这些废话作斗争。谢谢。

我不小心让它工作了:您必须在子类声明之前添加@objcYourSubclass。我通常都是用@objc class MySubclass,结果发现它不起作用,我不知道为什么

工作:

@objc(YourSubclass)
class YourSubclass : NSManagedObject {
...
不工作:

@objc class YourSubclass : NSManagedObject {
...

您是否也在核心数据模型文件中修饰类的名称?不确定,我明白了。两个名字都一样