【发布时间】:2015-05-22 18:41:50
【问题描述】:
我正在将 iOS 应用程序移植到 OS X。我曾考虑使用 Apple 示例代码“AnimatedTableView”作为起点,但惊讶地发现它没有 NSApplicationDelegate。在 iOS 上,我通常在 applicationDidFinishLaunching 中以编程方式创建对象,并试图弄清楚如何在 OS X 上执行此操作,除非我不应该这样做。
AnimatedTableView 的 MainMenu.xib 包含一个“ContentController”对象,该对象引用了它们的控制器类之一。看起来这个类的“wakeFromNib”方法是动作开始的地方。您添加到 MainMenu.xib 的任何对象在应用程序启动时自动实例化是否正确?那么,我可以在 MainMenu.xib 中放置一个主控制器类,然后从那里开始以编程方式创建其他对象吗?或者,为了坚持我的 iOS 模式,我可以将 MainMenu.xib 中的控制器对象替换为 NSApplicationDelegate 对象,并让它以编程方式创建主控制器对象?
正确吗?我尽量避免使用 IB,显然缺少一些基本的理解。
【问题讨论】:
标签: ios objective-c macos cocoa cocoa-design-patterns