在编译OSX 10.6时找不到NSExpression

时间:2009-12-22 22:37:18

标签: objective-c cocoa macos core-data

我正在构建一个非常简单的Core Data + Core Animation应用程序。

在编译OSX 10.6,64位时,Xcode不断抛出错误:

/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreData.framework/Headers/NSFetchRequestExpression.h:16:0 
/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreData.framework/Headers/NSFetchRequestExpression.h:16: 
 error: cannot find interface declaration for 'NSExpression', superclass of 'NSFetchRequestExpression'

如果我在10.5编译,一切都会好的。此外,我已经开始了另一个空的项目,只有极少的设置。不过,问题仍然存在。以前有人有这个问题吗?如果你不确定,任何猜测都会受到欢迎。

2 个答案:

答案 0 :(得分:2)

NSExpression是Foundation的一部分; Foundation,AppKit和Core Data一起是Cocoa。因此,为了让编译器了解NSExpression,您需要已经导入< Foundation / Foundation.h>或者< Cocoa / Cocoa.h>。我建议你在前缀标题中做这个(你应该已经这样做了,假设你没有清空或取消设置Xcode免费提供的前缀标题)。

答案 1 :(得分:0)

我认为只有两种可能性:包含类NSExpression声明的文件尚未导入,因为缺少相对指令,或者因为文件丢失。
如果指令引用了无法找到的文件,我希望你得到一个错误。