我目前正在尝试自学Cocoa开发.为此,我购买了一本非常出色的书,即适用于Mac OS X的可可食谱:佛蒙特食谱,它开始创建一个示例应用程序.它非常好,但它是针对XCode 3.2而不是XCode 4编写的.到目前为止,我已经能够自己解决这个问题,但是我遇到了一个无法弄清楚如何遵循指令的问题.
本质上,本书通过子类化的示例案例,NSDocumentController以便应用程序可以处理两个(最终可能是任意数量)不同类型的文档,因此它为每种类型打开适当的窗口.所以,我已经创建了一个自定义子类NSDocumentController(本书调用了VRDocumentController),现在我需要使它在应用程序启动过程中相对较早地加载此控制器的实例.基本上,类是单例,因此我必须在应用程序实例化标准类之前实例化我的,这必须在过程的早期完成.很公平.
本书引用Apple文档来继承NSDocumentController,该文档声明有两种方法可以解决问题:在MainMenu.xib文件中实例化类或在-applicationWillFinishLaunching:委托方法中实例化类.Apple文档没有明确说明如何执行这些操作(稍后会详细介绍),本书仅涵盖第一个版本,我认为这可能是我首选的方法.
我的问题:我不能为我的生活在XCode 4中解决这个问题.本书为XCode 3.2提供的说明不再准确,因为Interface Builder现在已经改组为XCode本身和新版本的"类选项卡"不再显示我的项目的课程.我发现Stack Overflow上的这个问题提出了类似的问题,所以我试着按照那里接受的答案.但是,当我打开Identity Inspector并尝试键入时VRDocumentController,它只会发出哔哔声并且不会接受它.我写的其他控制器类似乎都不是可接受的输入.
我也很乐意去另一条路线; 在-applicationWillFinishLaunching方法中实例化副本.但是,我不知道该方法实际属于哪个类,或者它的返回类型是什么.我也做了非常微不足道的搜索,没有运气.
我喜欢Lion中新的"简历"功能.重启后窗口大小和位置正是您离开它的方式.但在开发过程中这有点烦人.如果我在Interface Builder中调整窗口大小并重新启动我的应用程序,则它没有新的大小,而是旧的大小.
在过去,您必须设置AUTOSAVE属性以获得此类行为,但使用Resume,它会自动发生.可以以某种方式禁用我的应用程序的简历吗?