【发布时间】:2014-02-10 16:13:22
【问题描述】:
我有一个带有+initialize 方法的托管核心数据对象。 (如果重要的话,我希望使用该方法来初始化一个设置成本很高的静态变量。)在测试该初始化代码时,我惊讶地发现 +initialize 方法被调用了两次。
initialize 第一次被称为self 被定义为(Class) MyClass,正如我所料。
initialize 第二次被称为 self 被定义为 (Class) MyClass_MyClass_,这让我怀疑 Core Data 托管对象的某种异常初始化。
虽然这对我来说没有问题(我可以测试一下静态变量是否已经初始化,无论如何我都会这样做来处理子类化),但它让我怀疑 Core Data 正在做某事在我不理解的对象或类生命周期中。有人可以向我解释这个 MyClass_MyClass_ +initialize 方法调用中发生了什么吗?
【问题讨论】:
-
澄清一下,我理解+initialize,似乎Core Data的实现是在幕后创建对象的子类。我想知道那个子类在做什么。
标签: objective-c core-data