gpt4 book ai didi

ios - Xcode 正在寻找带点的核心数据实体名称;不编译

转载 作者:可可西里 更新时间:2023-11-01 03:38:03 25 4
gpt4 key购买 nike

我已经在一个项目上工作了一段时间,最近升级到 Xcode 8 和 Swift 3.0 以及 iOS 10。但是自从我这样做之后,我一直无法编译。

我的每个实体都出现错误::0:错误:没有这样的文件或目录:''/Users/mark/Library/Developer/Xcode/DerivedData/.../.Account+CoreDataProperties.swift'每个案例都有一个 .实体名称前的(点)前缀:.Account+CoreDataProperties.swift。

我将 Code Gen 从“Category/Extension”更改为 Manual/None,我做了一个干净的目录,删除了 DerivedData 目录。有趣的是,当我查看相应的目录时,那里有一个实际文件,只是没有点前缀。

这很令人困惑。谁能解释一下?我需要解决这个问题才能继续处理核心数据。

TIA标记

最佳答案

点文件由 Xcode8 生成。参见 WWDC2016 .由于另一个问题而不得不删除派生数据后,我遇到了同样的问题。

两个可能的修复:

1) 推荐的现代方法

  • 从您的项目中删除所有生成的 NSManagedObject 子类(如果存在)。
  • 在所有实体的 .xcdatamodel 中将 Codegen 设置为 Class Definition
  • 确保 Module 为空(浅灰色的“Global Namespace”)(解决 Apple bug,参见 @Chris Hansons answer)

注意:即使您在项目中看不到生成的文件,Xcode 也会引用它,因此您可以编写扩展等。例如:

extension MyEntity {
func doSomething() {
//
}
}

此外,您可以在 Xcode 中按住 command 并单击生成的文件。

2) 一种相当偏执但可靠的方法,忽略了新的 Xcode 功能

  • 从您的项目中删除所有生成的 NSManagedObject 子类(如果存在)。
  • 在所有实体的 .xcdatamodel 中将 Codegen 设置为 Manual/None
  • 清理项目
  • Clean DerivedData folder
  • 重启 Xcode
  • 手动生成 NSManagedObject 子类(在“编辑器”菜单中)
  • 确保将这些文件添加到您的项目中
  • build

如果您的问题仍然存在,请重复:

关于ios - Xcode 正在寻找带点的核心数据实体名称;不编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39931137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com