我正在尝试将实体放在每个具有非标准数据类型的核心数据存储中 - 一个是 NSDocument,另一个是 NSURL。我在 .xcdatamodeld 中得到了这一点,我需要将它们声明为可转换的。而且我认为我需要添加一些实现 NSValueTransformer 的东西来将它们变成 NSData (......或者是否有一个默认的转换器会自动执行此操作?)
我认为这个问题应该很容易回答:我在哪里实现它?我还没有找到在 Swift 中执行此操作的明确示例。有一个Objective-C 的例子,但是 .h 和 .m 文件的分离让我不清楚这在 Swift 中会去哪里。
假设我有一个名为 Notebook 的实体类型,其属性名为 folderURL - 在数据库中属于 Transformable 类型,在实际变量中属于 NSURL 类型。(我使用它作为示例,因为它更简单 - 请不要告诉我只是将 NSURL 转换为字符串,因为这不适用于其他 Transformable。)
问题是:假设我需要一个文件夹 URL 的 NSValueTransformer,我应该把它放在哪里?Notebook应该实现它吗?Notebook+CoreDataProperties 应该吗?或者我是否需要一个名为 FolderURL 的单独子类来实现它,如果需要,我如何在 Notebook(和/或 Notebook+CoreDataProperties)中引用该子类?
(之前有一个类似标题的问题,但他们似乎已经比这更进一步了——他们没有询问或展示“在哪里”。)