我试图添加
@H_301_11@[window makeMainWindow];在App Delegate类中,但它不会有帮助。
我错过了什么?
附:另外我使用下面的代码来调用我的类中的任何委托函数,
@H_301_11@[(appDelegate *) [[NSApplication sharedApplication]delegate]MyMethod];但我不知道有没有更好的东西,wihtout导入代表类。这样的东西
@H_301_11@[[NSApplication sharedApplication]delegate]MyMethod];(给出警告)
解决方法 对于 mainWindow method the docs say:This method might return nil if the application’s nib file hasn’t finished loading,if the receiver is not active,or if the application is hIDden.
我刚刚创建了一个快速测试应用程序,我放置了以下代码:
@H_301_11@NSLog(@"%@",[[NSApplication sharedApplication] mainWindow]);进入我的applicationDIDFinishLaunching:aNotification方法,并进入一个动作方法,我连接到我的应用程序主窗口中的一个按钮。
在启动时,mainWindow为零,但是当我单击按钮(所有内容都运行并显示后),mainWindow不再为零。
NSApplication提供了其他可能对您有用的方法:
> – windows – 所有窗口的数组;
> – keyWindow – 给出正在接收键盘输入(或nil)的窗口;
> – windowWithWindowNumber: – 返回与窗口号对应的窗口 – 如果您知道要更换其内容的窗口的编号,可以使用此窗口;
> – makewindowsPerform:inorder: – 向每个窗口发送一条消息 – 您可以使用它来测试每个窗口,看看它是否是您感兴趣的。
关于代表的呼叫方法,你所说的话给我一个警告就行了。例如,这个工作没有警告:
@H_301_11@NSLog(@"%@",[[[NSApplication sharedApplication]delegate] description]);你收到的警告究竟是什么?你试图调用不存在的方法吗?
总结以上是内存溢出为你收集整理的objective-c – 如何从其他类(NSViewController的子类)获取主窗口(App Delegate)?全部内容,希望文章能够帮你解决objective-c – 如何从其他类(NSViewController的子类)获取主窗口(App Delegate)?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)