可可 – NSWindowController windowDidLoad未调用

可可 – NSWindowController windowDidLoad未调用,第1张

概述我有一个简单的 Cocoa应用程序使用NSWindowController子类.在笔尖中我设定了: >文件所有者的类到我的NSWindowController子类 >文件所有者的“窗口”出口到笔尖中的主要NSWindow. 我的NSWindowController子类的init方法被调用(我调用super),但不管我做什么windowDidLoad从不被调用. 我一定要错过一些明显的东西,但对于我 我有一个简单的 Cocoa应用程序使用NSWindowController子类.在笔尖中我设定了:

>文件所有者的类到我的NSWindowController子类
>文件所有者的“窗口”出口到笔尖中的主要NSWindow.

我的NSWindowController子类的init方法被调用(我调用super),但不管我做什么windowDIDLoad从不被调用.

我一定要错过一些明显的东西,但对于我来说,我无法弄清楚它是什么.

解决方法 您尝试通过在另一个笔尖中实例化来创建NSWindowController的实例.但是,当您在nib文件中实例化对象时,将通过调用-initWithCoder:进行初始化.

-initWithCoder:不是NSWindowController的指定的初始化程序,所以您的NSWindowController的实例从来没有实际加载其nib.

通过将其置于Interface Builder中的MainMenu.xib文件中来实例化您的NSWindowController实例,而不是以编程方式创建它:

在AppDelegate.h中:

@class YourWindowController;@interface AppDelegate : NSObject{    YourWindowController* winController;}@end

在AppDelegate.m中:

@implementation AppDelegate- (voID)applicationDIDFinishLaunching:(NSNotification*)notification{    winController = [[YourWindowController alloc] init];    [winController showWindow:self];}- (voID)dealloc{    [winController release];    [super dealloc];}@end

在YourWindowController.m中:

@implementation YourWindowController- (ID)init{    self=[super initWithWindowNibname:@"YourWindowNibname"];    if(self)    {        //perform any initializations    }    return self;}@end
总结

以上是内存溢出为你收集整理的可可 – NSWindowController windowDidLoad未调用全部内容,希望文章能够帮你解决可可 – NSWindowController windowDidLoad未调用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1019284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存