我正在将我在Visual Studio 2008中开发的应用程序移植到Cocoa。我目前正在对可可粉进行“边走边学”的方法,因此我可以在更小,更简单的项目中尝试不同的想法和技术,并最终将它们组合到一个大型应用程序中。
我的程序逻辑如下(从精简意义上来说)。列表中的项目是我老板要求的。
这种类型的应用最好的选择是什么?从我提出的另一个问题中,我发现我应该将“主应用程序”窗口与其余文件保存在单独的XIB文件中,因为可能需要克隆并与之交互。
我知道,由于Cocoa和Objective-C是基于C的,所以在某处有Main方法。但是作为这样的应用程序的起点,你们都会建议些什么?
所以其中一些归结于组织。就像朱利安提到的那样,您将需要一个YouappnameApplicationDelegate类-实际上,Xcode将在创建项目时为您创建并设置它。
实现applicationDidFinishLaunching方法(Xcode给您提供的方法也应提供),并在那里执行步骤1和2(以及步骤7、8、9)的逻辑。
您可能要在另一个类中实现的第3步到第5步。 RegistrationWindowController或类似的东西。您甚至可能希望在另一个nib文件中创建此窗口(而不是Xcode为您提供的MainMenu.nib文件内部)。在YouappnameApplicationDelegation的applicationDidFinishLaunching方法中,您将加载该笔尖(请参见下面的代码示例)。这样,您的代码井井有条-这正是Cocoa真正指导您执行的操作。
好,现在如何加载该新笔尖文件:
myInstanceVariable = [[RegistrationWindowController alloc] initWithWindowNibName: @"MyNibName"];
[myInstanceVariable showWindow: self];
RegistrationWindowController应该是NSWindowController的子类。
这应该使您花相当长的时间进行研究,希望对您有所帮助!