'viewDidLoad'未在NSViewController中声明?

Ayu*_*ISM 1 macos cocoa objective-c nsviewcontroller

我是一个可可和Objective-c新手.我正在尝试构建一个mac应用程序,当我尝试创建一个继承自NSViewController的新控制器时,它会自动给我一个- (void)viewDidLoad.m文件(但不是.h).问题是编译器总是喊叫"没有可见的@interface for'NSViewContoller'声明了选择器'viewDidLoad'.

这怎么可能?请帮助我了解这里发生了什么以及如何解决它.谢谢.

Nof*_*ood 5

如果你以OSX Yosemite为目标,那么只有NSViewController才支持ViewDidLoad!如果您针对您的应用在Yosemite下方定位并使用-awakeFromNib-loadView方法,请将其删除.

正如您在Apple的NSViewController Reference 中所看到的那样

Available in OS X v10.10 and later.

PS当我从NSViewController继承一个类并且Xcode 6为我自动生成ViewDidLoad方法时,我在为OSX Mevericks及以上开发应用程序时遇到了这个实际上是一个bug(我想)