3

我正在开发一个 iphone 应用程序,一切都很顺利,直到我尝试导入 NSFetchedResultsController.h。当我输入这个 Xcode 时,它​​为我完成了。但现在它给出了错误:找不到 NSFetchedResultsController.h 文件。

我像这样包括它:

#import "NSFetchedResultsController.h"

我在整个互联网上寻找答案,但没有任何效果。(有些事情需要 Xcode 4.3 才能工作)。

我在雪豹上使用 Xcode 4.2。

4

4 回答 4

4

“NSFetchedResultsController.h”是 CoreData 框架的一部分,你必须

#import <CoreData/CoreData.h>

您还必须将 CoreData 框架添加到与您的应用程序链接的库中:

  • 在 Xcode 中选择您的目标。
  • 单击“构建阶段”。
  • 在“Link Binary With Libraries”部分,单击“+”并添加“CoreData.framework”。
于 2012-09-18T18:18:21.157 回答
4

事实上,在大多数情况下,您确实不需要手动导入标头。只需添加 Coredata.framework 来构建阶段,如下所示:

在此处输入图像描述

在此处输入图像描述

现在在项目导航器中查看左侧,您会看到添加了 CoreData.framework。打开 Header 文件夹,您就可以找到 NSFetchedResultsController.h。为了测试它的存在,你可以输入:

核心数据/NSFet

瞧,代码建议告诉你你想要什么。看下面的图片:

在此处输入图像描述

重要提示:这仅适用于 iOS 3 或更高版本

于 2012-09-18T20:04:56.873 回答
3

抱歉,如果这个讨论对于高级程序员来说是非常基础的,但它可能对最近迁移到 Cocoa 的高级程序员或 Cocoa/Xcode 的初学者有用。这可能值得一看。

当您想添加默认情况下不包含的新标头时,您可以先在 Google 中搜索 Apple Developer 中的该类引用(您可以直接从 Xcode > Organizer(在 Xcode 窗口的右上角)执行此操作)您应该会看到一个像这样的页面:

在此处输入图像描述

最重要的两件事是: 1- 框架 2- 继承自,
然后检查您的构建阶段中的框架> 将二进制文件与库链接,如果不存在则添加它。通过 This ,您将永远不会遇到这样的问题。

于 2012-09-19T09:50:57.327 回答
1

检查项目文件夹中是否存在该文件,如果是,进入项目,选择目标部分下的应用程序,进入构建阶段,打开编译源然后添加文件NSFetchedResultsController.m

于 2012-09-18T16:16:08.877 回答