gpt4 book ai didi

ios - UIApplicationDelegate 与 NSApplicationDelegate,MainMenu.xib

转载 作者:行者123 更新时间:2023-11-29 12:21:52 24 4
gpt4 key购买 nike

我正在将 iOS 应用程序移植到 OS X。我正在考虑使用 Apple 示例代码“AnimatedTableView”作为起点,但惊讶地发现它没有 NSApplicationDelegate。在 iOS 上,我通常在 applicationDidFinishLaunching 中以编程方式创建对象,并试图弄清楚如何在 OS X 上执行此操作,除非我不应该这么做。

AnimatedTableView 的 MainMenu.xib 包含一个引用其 Controller 类之一的“ContentController”对象。看起来此类的“wakeFromNib”方法是操作开始的地方。添加到 MainMenu.xib 的任何对象在应用程序启动时自动实例化是否正确?那么,我可以在 MainMenu.xib 中放置一个主 Controller 类,然后从那里开始以编程方式创建其他对象吗?或者,为了坚持我的 iOS 模式,我可以用 NSApplicationDelegate 对象替换 MainMenu.xib 中的 Controller 对象,并让它以编程方式创建主 Controller 对象?

这样对吗?我尽量避免 IB,显然缺少一些基本的理解。

最佳答案

Is it correct that any objects you add to MainMenu.xib are automatically instantiated on application launch?

更正确的说法是,设置为使用 .xib 文件而不是 Storyboard的 Cocoa 应用程序将自动加载在应用程序的 Info.plist 文件中指定为主 nib 文件的 .xib 文件。但是是的,基于 .xib 的应用程序通常会设置为在启动时加载 MainMenu.xib。

So, I could just put a master controller class in the MainMenu.xib and begin creating other objects programatically from there?

当然,这是一种有效的方法。

Or, to stick with my iOS pattern, I could replace the controller object in the MainMenu.xib with an NSApplicationDelegate object and have it programmatically create the master controller object?

项目中应该已经有一个应用程序委托(delegate)对象。更重要的是,主 .xib 文件中有一个 app delegate 代理,因此您可以将 outlet 添加到 app delegate 并将它们连接到主 .xib 文件中的对象。如果您想在应用程序委托(delegate)中创建“主 Controller ”对象,您当然可以这样做。

关于ios - UIApplicationDelegate 与 NSApplicationDelegate,MainMenu.xib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30403770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com