“Class”在这种情况下对于类型查找是不明确的

问题描述 投票:0回答:7

我做了一个核心数据模型:

class Order: NSManagedObject {
    ... //code
}

但是当我尝试构建时出现错误:

在这种情况下,“顺序”对于类型查找来说是不明确的

ios swift core-data swift4
7个回答
26
投票

所以我想 - 实体“订单”应该在核心数据属性面板中定义。

  1. 打开核心数据.xcdatamodeld文件

  2. 选择实体“订单”

  3. 右侧选择模块下的“当前产品模块”

  4. 在Codegen下选择“类别/扩展”

enter image description here


10
投票

以下是对我有用的步骤,

  • 删除创建的“NSManagedObject”文件
  • 干净的构建
  • 打开核心数据.xcdatamodeld文件
  • 选择“实体”打开右侧窗格
  • 将模块设置为“当前项目”,将 Codegen 设置为“模块无” 设置一张参考图像
  • 现在从顶部转到编辑器菜单并创建一个子类“NSManagedObject”
  • 构建项目
  • 返回 Enity 右窗格并将 Codegen 更改为“Class Definition” 设置两个参考图像

0
投票

我觉得正确的解决方案是删除 Xcode 创建的实体类和属性类文件,并将代码生成更改为类定义。


0
投票

对实体设置进行所需的更改后,请确保清理构建文件夹。


0
投票

我遇到了同样的问题,在 codegen 选项中我选择了类定义,要解决此问题: 1.删除生成的class文件 2. 选择订单实体,然后在右侧的代码生成器上选择手动 一 3. 导航到 Xcode 编辑器并选择“创建 NSManagedObject 子类以再次生成类。


0
投票

就我而言,我有一个名为“Client”的实体。客户端似乎是在幕后的某个地方内部使用的。将实体名称更改为“公司”解决了该问题。 因此请检查您的命名是否被系统或其他组件保留。
请务必更改实体和类名称(至少更改类名称)。
enter image description here


0
投票

@aviram-netanel 接受的答案对我有用,但我很难找到面板哈哈。

  1. 打开您的
    .xcdatamodeld
    文件
  2. 单击您的实体之一

enter image description here

  1. 按屏幕右上角的按钮

enter image description here

  1. 选择最后一个选项卡并填写此信息

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.