我正在尝试关注this NSTableView教程。我正在使用Xcode 7.3.1。什么时候创建表控制器类并使其符合NSTableViewDataSource(视频中大约5:11)就是遇到问题。当我尝试在<>中输入NSTableViewDataSource时,它不会出现在自动完成中,如果我手动输入NSTableViewDataSource,我会得到“No type或protocol named'NSTableViewDataSource'”。我无法弄清楚为什么会这样。本教程是使用Xcode 5创建的,在Xcode 7中有所不同。我通过转到File>创建了该类。新>文件。 Xcode 7中没有“Objective C Class”选项,因此我在OS X下选择“Cocoa Class”。我在视频中将它作为NSObject的子类,并将其称为TableController。然后我尝试使其符合NSTableViewDataSource,在那里我遇到了问题。我究竟做错了什么?我是否需要以不同的方式创建课程?
答案 0 :(得分:3)
只需将Cocoa.h导入TableController类即可解决问题。它在本教程的Xcode 5中工作的原因是因为Xcode 5(也可能是旧版本)创建了一个将Cocoa.h导入每个源文件的pch文件,因此无需手动将其导入TableController类。似乎从Xcode 6开始,不再使用新项目创建pch文件,这就是为什么必须手动将Cocoa.h导入到类中的原因。只需将-fsanitize=undefined
放在新类的Foundation导入行的上方或下方,即可导入Cocoa.h。