【发布时间】:2015-09-12 21:11:52
【问题描述】:
我有一个 Swift - ObjectiveC/C++ 项目,一切正常,直到我添加了 CoreData,现在每次我修改一些东西,它都会抛出一个错误:
/.../DerivedData/.../Intermediates/.build/Debug-iphonesimulator/.build/DerivedSources/-Swift.h:136:26:找不到“NSManagedObject”的接口声明,“”的超类;你的意思是“NSManagedObjectModel”吗?
和
/.../DerivedData/.../Intermediates/.build/Debug-iphonesimulator/.build/DerivedSources/-Swift.h:136:26:尝试使用前向类“NSManagedObjectModel”作为“的超类” '
当然,这不是真正的问题,我已经尝试删除 DerivedData 上的所有内容,但问题仍然存在。
修复方法是在 -Swift.h 文件的标题中添加 #import ,然后错误就消失了。直到我修改我的代码。
有人知道这个问题的真正解决方案吗?每次编译时都必须包含该库,这很烦人。
Xcode 版本为:版本 6.3.2 (6D2105)
编辑:问题出现在Xcode创建的*-Swift.h文件中...
Edit2:我不得不重写整个类以避免使用ObjectiveC(第三方库除外)并且问题消失了,所以我认为它与ObjectiveC如何尝试处理基于Swift的核心数据类有关。
现在我没有问题,但有一天可以帮助某人
【问题讨论】:
-
除了重写整个项目之外,您是否找到了解决方案/设置?因为我也面临同样的问题。就我而言,我没有创建自定义类,而是使用了自动生成的 NSManagedObjectModel。
-
不,除了我在问题中编辑的答案。它仍然可能与依赖关系有关...:/