xcode – 如何使用Interface Builder管理Cocoa应用程序中的多个窗口

概述我有3个类的应用程序:AppController,Profile,ProfileBuilder.我还需要3个窗口:每个班级一个.我尝试将所有3作为NSObject的子类并将initWithNibName应用于NSWindowController类WindowController变量,但是当我尝试在每个窗口上输出一些值时它不起作用,并且使用NSLog将窗口生成为null.我想知道管理多个窗口的最佳方 我有3个类的应用程序:AppController,Profile,ProfileBuilder.我还需要3个窗口:每个班级一个.我尝试将所有3作为NSObject的子类并将initWithNibname应用于NSWindowController类WindowController变量,但是当我尝试在每个窗口上输出一些值时它不起作用,并且使用NSLog将窗口生成为null.我想知道管理多个窗口的最佳方法是什么,可能所有来自同一个类,如App WindowsController,尽可能少地涉及其他类中的特定代码,并且如果可能的话,保留其他类作为NSObject的子类而不是NSWindowController .因此,如果存在,可能是一种远程控制窗口行为的方法,在特定类中添加尽可能少的代码,只是为了使它们尽可能清晰并专注于其内容.谢谢,希望我明确表示,我实际上是Cocoa框架的新手.解决方法 您应该能够在不同类的init方法中使用windows加载nib文件.例如,在Profile中,您可以执行以下 *** 作:

-(ID)init {    if (self = [super init]) {        NSArray *array;        BOol success = [[NSBundle mainBundle] loadNibnamed:@"ProfileWindow" owner: self topLevelObjects:&array];        if (success) {            for (ID obj in array) {                if ([obj isKindOfClass:[NSWindow class]]) {                    self.profileWindow = obj;                }            }            [self.profileWindow makeKeyAndOrderFront:self];        }    }    return self;}

profileWindow是一个属性(输入为strong).在xib文件中,我将file的所有者设置为Profile.

总结

以上是内存溢出为你收集整理的xcode – 如何使用Interface Builder管理Cocoa应用程序中的多个窗口全部内容,希望文章能够帮你解决xcode – 如何使用Interface Builder管理Cocoa应用程序中的多个窗口所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存