Swift 构建 CoreData,语义问题
Posted
技术标签:
【中文标题】Swift 构建 CoreData,语义问题【英文标题】:Swift Building CoreData, Semantic Issue 【发布时间】: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。 不,除了我在问题中编辑的答案。它仍然可能与依赖关系有关...:/ 【参考方案1】:这基本上意味着你需要导入Coredata
#import <CoreData/CoreData.h>
【讨论】:
它被包括在内...最后,我只是用纯 swift 重写了应用程序:O以上是关于Swift 构建 CoreData,语义问题的主要内容,如果未能解决你的问题,请参考以下文章
CoreData学习:Core Data Stack(Swift)
在 Xcode 10.2 上的 Swift4.2 中插入 NSManagedObject 后,我会立即收到 Xcode 构建错误