【发布时间】:2017-04-29 04:53:57
【问题描述】:
我正在观看 this tutorial 在 Xcode 8 中使用 Core Data,视频使用的是 Swift。在视频中,他在 Core Data 模型中输入了一个名为Task 的实体,然后在代码中他可以调用Task,例如:
let task = Task(context: context)
我有一个名为Tag 的实体。如何使用 Objective-C 访问代码中的标签? Codegen 设置在 Core Data 模型中,但在我的项目中没有看到任何其他文件。如果我尝试:
Tag test = [[Tag alloc] init];
我收到Tag 不存在的错误。
【问题讨论】:
-
如果您在项目中打开您的
xcdatamodeld文件并选择您的“Tag”实体,那么选择的 Codegen 选项是什么?如果设置为“manual/none”,则在构建项目时不会生成NSManagedObjectsubclasses。 -
如果设置为“类定义”,则在您构建项目时将为您生成
NSManagedObject子类,但它们不会显示在您的项目中。 -
@RyanH。它设置为“类定义”。如果它在项目中,我如何访问它们?我在选项中选择了全局命名空间,所以我想我可以说 Tag 并让它显示为一个类。我需要在头文件中导入一些东西吗?
-
没错,你必须为自动生成的
NSManagedObject子类导入头文件。我已经发布了包含更多详细信息的答案。
标签: ios objective-c xcode core-data xcode8