-3

我在 Xcode 中使用 Swift,我收到以下错误:- 'Category' 类型的值(又名'OpaquePointer')没有成员'name' - 我到处找,但我找不到解决方案。有人知道该怎么做吗?

这是一个屏幕截图: 在此处输入图像描述

谢谢你的帮助!

4

11 回答 11

10

我在 Angela Yu 课程中尝试练习时也遇到过这种情况,其中 Category 是一个核心数据实体。我使用的是 Xcode 11.3.1。在多次尝试将模块设置为当前产品模块并将 Codegen 设置为类定义,然后按 Ctrl-B 进行重建后,我仍然收到错误消息。但是,重新启动 Xcode 解决了问题,然后代码完成能够建议名称属性/属性。

于 2020-03-10T02:29:05.777 回答
3

我在学习 Angela Yu 课程时遇到了同样的问题,我尝试了所有我能找到的可用解决方案,但只有这个对我有帮助:当你的项目打开时:

  1. 按顶部窗格中的产品
  2. 按清理构建文件夹

不要使用热键组合- 只需用鼠标按下它!只有这种方法才能帮助我摆脱这个错误。

于 2020-09-25T14:39:41.843 回答
2

我有同样的问题。在我的 DataModel 文件中,我将实体名称和类名称从“Category”更改为不同的名称,例如“TodoListCategory”。然后在我的 CategoryViewController 中,我将所有 Category 对象更改为“TodoListCategory”并重建。它解决了我的问题。

之后,您可能会遇到错误“Command CompileSwift failed with a nonzero exit code”。现在,尝试使用 Shift + Command + K & Option + Shift + Command + K 清理您的项目

于 2020-05-26T03:37:36.890 回答
1

如果您正在学习 Angela Yu 的课程,我发现通过选择Manual/NoneCodegenClass Definition下的 Category Entity,可以自动生成类。

之后也跑cmd + b

在此处输入图像描述

于 2020-01-29T09:27:44.183 回答
1

也在安吉拉的课上。我发现通过删除核心数据模型并将它们重新启动为没有关系的独立实体,设置保存和加载功能,运行应用程序,然后返回链接关系解决了这个问题。我认为这与在能够引用属性之前将实体保存为 NSManagedObject 有关。我猜想如果不将它们作为 NSManagedObject 启动,默认类型是不透明指针。祝你好运!

于 2020-03-20T19:57:47.673 回答
1

我正在学习同样的课程。在我的情况下只是一个 Xcode 错误,并且“类别”没有被识别为一个类。我只是关闭并重新打开它并正常工作。

于 2020-04-24T09:36:33.583 回答
0

类别未提供名称属性

在此处输入图像描述

于 2020-01-22T07:32:51.830 回答
0

将“类别”变量形式“var”更改为“let”。
从,

var categories = [Category]()


let categories = [Category]()

只需重新构建它就可以了。

于 2020-04-18T20:45:39.493 回答
0

如果[Category]()不被识别为 NSManagedOject,只需将术语 Category 放在括号内的两个单引号之间。

链接到示例

于 2020-04-25T13:06:32.727 回答
0

在声明类别类型的数组时,请执行以下操作:

var categories = [[`Category`]]()

(如果您将实体名称设为“类别”)

注意:类别左侧只有一个反勾号。

于 2020-06-28T17:45:09.217 回答
0

再会!

请确保您没有选择不透明指针而不是您的类。见下文:

截屏

如果您这样做了,请将类别替换为“类别”

于 2020-08-31T08:09:52.893 回答