mac app开发之:利用NSWindowController实现窗口跳转

本文介绍如何在Mac应用中通过自定义BaseWindow类实现窗口间的跳转,包括使用XIB而非Storyboard的方式,以及如何创建和调用不同窗口控制器。

今天这篇博客主要讲述的是窗口之间的跳转,当然了相对于ios 页面之间跳转,还是觉得ios更可爱许多!一般在ios开发中我们都习惯于继承于系统的UIViewController自定义一个BaseViewController(名字是大家随便取的,根据个人爱好,请不要在意!),更方便于自己把公有的属性写在里面,同样在mac开发中也是如此,只不过我们继承的是系统的NSWindow来实现自定义窗口!话不多说,请看代码。

新疆项目工程,如下


请不要勾选 Use Storyboards 选项,因为我们上一篇博客已经介绍过,在mac app开发过程中 Storyboard 并没有XIB 使用起来方便,所以今天我们以XIB为主来实现窗口之间的跳转!新建工程以后,我们首先创建一个继承于NSWindow的一个BaseWindow类,我们可以在里面填写一些自定义事件或方法,来实现我们的自定义窗口,然后我们在创建一个继承于NSWindowController的MainWindowController类,记得勾选上Also create XIB file for user interface 选项,如下图:

创建好以后在MainWindowController.xib中选中Window将它的继承类改成我们前面自定义的BaseWindow,然后拖拽一个NSButton到xib上面,修改其Title为“显示”并设置其约束,关联方法为: showNewsWindownder;

完成上面工作以后,在AppDelegate.h文件中引用MainWindowController.h文件创建其对象,如下:


然后在AppDelegate.m文件类中删除 @property (weak) IBOutlet NSWindow *window;代码,并在MainMenu.xib中选中Window,删除该Window,然后在AppDelegate.m中

 - (void)applicationDidFinishLaunching:(NSNotification *)aNotifica函数中写如下代码:

然后我们在创建一个继承于NSWindowController的NewsWindowController类,步骤同上创建MainWindowController一样,不同的是将里面的NSButton的title改成“返回”,并关联其方法为:back,如下图:


我们在MainWindowController.m中引用NewsWindowController.h文件,然后创建其对象,如下:


其中showNewsWindow方法为跳转的方法。最后我们再在NewsWindowController.m文件中实现返回的方法,如下:


完成以后,运行我们的项目,如果不出意外的话,当前功能我们已经完成,当然显示窗口的方法并不是只有

- (void)orderFront:(nullable id)sender;这一种,还有别的一些方法如:

- (IBAction)showWindow:(nullable id)sender;

- (void)makeKeyAndOrderFront:(nullable id)sender;

等等,这些还需要大家自己去研究,根据自己需求和喜好来选则用哪些方法来实现,如果不想看我上面所写的内容嫌太罗嗦的话,可以直接点击下面链接,下载deom!

http://download.csdn.net/detail/u012890071/9454255  点击打开链接

今天的介绍就到此为止了,我们明天继续!

内容概要:本资源聚焦于配电网在发生故障后的两阶段鲁棒恢复研究,旨在提升电力系统在不确定性条件下的恢复能力与运行可靠性。研究采用两阶段优化方法,第一阶段进行预恢复决策,如网络重构、分布式电源出力调整等,以最小化预期损失;第二阶段则针对实际发生的故障场景实施校正控制,利用鲁棒优化理论应对负荷波动、新能源出力不确定性等因素,确保恢复方案的可行性与强健性。资源提供了完整的Matlab代码实现,复现了相关顶刊研究成果,便于使用者深入理解模型构建、算法求解及仿真分析全过程。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力的研究生、科研人员及电力行业工程师。; 使用场景及目标:① 学习并掌握配电网故障恢复的先进优化方法,特别是两阶段鲁棒优化模型的构建与应用;② 复现和验证顶刊论文中的算法,为自身科研工作提供技术参考和代码基础;③ 将所学方法拓展应用于微电网、主动配电网等新型电力系统的可靠性评估与优化调度研究。; 阅读建议:学习者应结合提供的Matlab代码,仔细研读模型的数学公式与求解逻辑,重点关注不确定性建模、两阶段决策变量的设定以及鲁棒对等转换技巧。建议在掌握基础案例后,尝试修改参数或引入新的约束条件进行扩展研究,以深化理解并提升创新能力。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值