我在Xcode中与SWIFT合作时收到以下错误:--类型为‘Category’的值(也称为‘OpaquePointer值’)没有成员‘name’--我到处都找过了,但找不到解决方案。有人知道该怎么做吗?
以下是一个屏幕截图:
谢谢你的帮忙!
yizd12fk1#
我在Angela Yu课程中尝试练习时也遇到了这种情况,在该课程中,Category是一个核心数据实体。我使用的是Xcode11.3.1。在多次尝试将模块设置为当前产品模块,并将Codegen设置为类定义,然后按Ctrl-B进行重建后,我仍然收到错误。然而,重新启动Xcode解决了这个问题,然后代码完成能够建议名称属性/属性。
yjghlzjz2#
我在学习Angela Yu课程时遇到了同样的问题,我已经尝试了我能找到的所有可用的解决方案,但只有这个解决方案对我有帮助:当您的项目打开时:
1.按下顶部面板上的产品1.按“清理生成文件夹”
不要使用热键组合--只需用鼠标按下!只有这种方法才能帮助我摆脱这个错误。
lnlaulya3#
我也有同样的问题。在我的DataModel文件中,我将实体名称和类名从“Category”更改为不同的名称,如“TodoListCategory”。然后在我的CategoryView控制器中,我将所有的Category对象更改为“TodoListCategory”并重新构建。它解决了我的问题。
之后,您可能会看到错误“Command CompileSwift FAILED WITH A NOT ZERE EXIT CODE”。现在,尝试使用Shift+Command+K&Option+Shift+Command+K清除项目
w1jd8yoj4#
如果您正在学习Angela Yu的课程,我发现通过为Codegen下的Category实体选择Manual/None,然后选择Class Definition,类是自动生成的。
Manual/None
Class Definition
之后还要运行cmd + b。
cmd + b
monwx1rj5#
也在安吉拉的班上。我发现,通过删除核心数据模型并将它们作为没有关系的独立实体重新启动,设置保存和加载功能,运行应用程序,然后然后返回链接关系就解决了问题。我认为这与在能够引用属性之前将实体保存为NSManagedObject有关。我猜想,如果没有将它们作为NSManagedObject初始化,默认类型是不透明指针。祝你好运!
lhcgjxsq6#
我也在学习同样的一课。在我的例子中,只是一个Xcode错误,“Category”没有被识别为一个类。我只是关闭并重新打开它,工作起来很好。
x3naxklr7#
类别未提供名称属性
5gfr0r5j8#
将“类别”变量的形式“var”更改为“let”。从…,
var categories = [Category]()
至
let categories = [Category]()
只需重建它,这就奏效了。
0vvn1miw9#
如果[Category]()未被识别为NSManagedOject,只需将术语Category放在括号内的两个单反引号之间。
[Category]()
link to example
9rbhqvlz10#
声明Category类型的数组时,如下所示:
var categories = [[`Category`]]()
(如果实体名称为“Category”)
注:类别左侧只有一个反勾号。
zf2sa74q11#
日安!
请确保您没有选择不透明指针而不是您的类。请参见下面的内容:
Screenshot
如果您这样做了,将Category替换为‘Category’
m528fe3b12#
我们需要在右侧的检查器中将类模块更改为“当前产品模块”
enter image description here
12条答案
按热度按时间yizd12fk1#
我在Angela Yu课程中尝试练习时也遇到了这种情况,在该课程中,Category是一个核心数据实体。我使用的是Xcode11.3.1。在多次尝试将模块设置为当前产品模块,并将Codegen设置为类定义,然后按Ctrl-B进行重建后,我仍然收到错误。然而,重新启动Xcode解决了这个问题,然后代码完成能够建议名称属性/属性。
yjghlzjz2#
我在学习Angela Yu课程时遇到了同样的问题,我已经尝试了我能找到的所有可用的解决方案,但只有这个解决方案对我有帮助:当您的项目打开时:
1.按下顶部面板上的产品
1.按“清理生成文件夹”
不要使用热键组合--只需用鼠标按下!只有这种方法才能帮助我摆脱这个错误。
lnlaulya3#
我也有同样的问题。在我的DataModel文件中,我将实体名称和类名从“Category”更改为不同的名称,如“TodoListCategory”。然后在我的CategoryView控制器中,我将所有的Category对象更改为“TodoListCategory”并重新构建。它解决了我的问题。
之后,您可能会看到错误“Command CompileSwift FAILED WITH A NOT ZERE EXIT CODE”。现在,尝试使用Shift+Command+K&Option+Shift+Command+K清除项目
w1jd8yoj4#
如果您正在学习Angela Yu的课程,我发现通过为Codegen下的Category实体选择
Manual/None
,然后选择Class Definition
,类是自动生成的。之后还要运行
cmd + b
。monwx1rj5#
也在安吉拉的班上。我发现,通过删除核心数据模型并将它们作为没有关系的独立实体重新启动,设置保存和加载功能,运行应用程序,然后然后返回链接关系就解决了问题。我认为这与在能够引用属性之前将实体保存为NSManagedObject有关。我猜想,如果没有将它们作为NSManagedObject初始化,默认类型是不透明指针。祝你好运!
lhcgjxsq6#
我也在学习同样的一课。在我的例子中,只是一个Xcode错误,“Category”没有被识别为一个类。我只是关闭并重新打开它,工作起来很好。
x3naxklr7#
类别未提供名称属性
5gfr0r5j8#
将“类别”变量的形式“var”更改为“let”。
从…,
至
只需重建它,这就奏效了。
0vvn1miw9#
如果
[Category]()
未被识别为NSManagedOject,只需将术语Category放在括号内的两个单反引号之间。link to example
9rbhqvlz10#
声明Category类型的数组时,如下所示:
(如果实体名称为“Category”)
注:类别左侧只有一个反勾号。
zf2sa74q11#
日安!
请确保您没有选择不透明指针而不是您的类。请参见下面的内容:
Screenshot
如果您这样做了,将Category替换为‘Category’
m528fe3b12#
我们需要在右侧的检查器中将类模块更改为“当前产品模块”
enter image description here