Xcode 7中的CoreData类

时间:2015-11-10 14:39:13

标签: ios iphone xcode core-data

我有来自XCode 7 coredata的查询。假设我正在创建NSManagedObject的子类(让名为" NoteEntity"),现在我有两个由Xcode生成的类,名为" NoteEntity + CoreDataProperties.swift"和" NoteEntity.swift"。我知道第一个是目标c中的类别扩展。

我的问题是为什么Xcode会生成两个类?我们以什么方式使用这两个类来提高工作效率?

2 个答案:

答案 0 :(得分:2)

如果稍后更改模型,则会生成两个类,但只会重新生成一个类(NoteEntity + CoreDataProperties.swift)。

由于这个新功能,您将能够在NoteEntity.swift类上添加一些方法甚至属性。它们不会被新一代的模型抹去!

在此功能之前,我们必须创建自己的类别。

它比考虑这个之前更好: 你有两节课;消息和注释(Message的子类)。 在此之前,如果您在Message和Comment上有一个类别,并且需要在这两个类别中使用方法,则必须包含这两个类。 但是现在,你只需要包含Comment.swift,其中包括类别(因为它有点类别)Message.swift:)

答案 1 :(得分:1)

我认为这与生产力无关。

当您更新实体(添加/删除属性或关系)时,将重新生成文件NoteEntity + CoreDataProperties.swift(因此,将删除任何代码)。这就是为什么你应该在文件NoteEntity.swift中执行该类的原因。这样,每次更新NSManagedObject子块时都不会删除它。