【问题标题】:No type or protocol named 'NSTableViewDataSource'没有名为“NSTableViewDataSource”的类型或协议
【发布时间】:2016-11-05 02:25:47
【问题描述】:

我正在尝试关注this NSTableView 教程。我正在使用 Xcode 7.3.1。当需要创建表控制器类并使其符合 NSTableViewDataSource(视频中大约 5:11)时,我遇到了问题。当我尝试在 中键入 NSTableViewDataSource 时,它​​不会出现在自动完成中,如果我手动输入 NSTableViewDataSource,我会得到“没有名为 'NSTableViewDataSource' 的类型或协议”。我不明白为什么会这样。本教程是使用 Xcode 5 创建的,而在 Xcode 7 中有所不同。我通过转到 File > New > File 创建了这个类。 Xcode 7 中没有“Objective C Class”选项,所以我在 OS X 下选择了“Cocoa Class”。我在视频中将其设为 NSObject 的子类,并将其命名为 TableController。然后我尝试使其符合 NSTableViewDataSource,我遇到了问题。我究竟做错了什么?我需要以不同的方式创建课程吗?

【问题讨论】:

标签: objective-c xcode macos cocoa nstableview


【解决方案1】:

只需将 Cocoa.h 导入 TableController 类即可解决问题。它在本教程中的 Xcode 5 中工作的原因是因为 Xcode 5(可能还有旧版本)创建了一个 pch 文件,该文件将 Cocoa.h 导入每个源文件,因此无需手动将其导入 TableController 类。似乎从 Xcode 6 开始,不再使用新项目创建 pch 文件,这就是为什么您必须手动将 Cocoa.h 导入到类中的原因。您只需将 #import <Cocoa/Cocoa.h> 放在新类中 Foundation 导入行的上方或下方即可导入 Cocoa.h。

【讨论】:

    猜你喜欢
    • 2016-04-08
    • 2020-12-30
    • 1970-01-01
    • 2022-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多