我熟悉iOS编程,但是当我为OS X启动Cocoa项目时,我不知道在哪里放置逻辑。是否有任何好的在线资源可以从iOS转换到OS X?
编辑:
感谢您的帮助。我的主要问题是我的代码在默认模板中的位置。
答案 0 :(得分:2)
我的主要问题是我的代码在默认模板中的位置。
假设有一个单窗口应用程序,我创建一个单独的自定义控制器来拥有该窗口,并且我让应用程序对象的委托拥有该控制器。
所以:
applicationWillFinishLaunching:
中创建它(注意:不是Did
;我改变了这一点。)nil
中释放它(以及applicationWillTerminate:
出实例变量。applicationShouldTerminateAfterLastWindowClosed:
回复YES
,以便用户可以通过专门退出或关闭主窗口退出应用程序。application:openFile:
或application:openFiles:
,通常是将文件传递给控制器以进行导入或其他操作。init
。init
dealloc
中释放模型(第二个)和从属控制器(第三个)。所有这一切的优点在于每个对象的生命周期,但应用程序的委托是清晰明确的,责任范围也是如此。我的申请代表不过是这个;它唯一做的就是没有专门的app-delegate作业拥有主窗口控制器。同样,主窗口控制器除了拥有主窗口以及我必须在该窗口中显示的任何模型外什么都不做。在退出时,除应用程序代理之外的所有内容都会被解除。
对于基于文档的应用程序,我非常接近模板。我删除了我不需要自定义的任何模板方法,并且我可以将一个或两个I / O方法切换到其他版本之一(例如,从readFromData:ofType:error:
到readFromURL:ofType:error:
),并且如果我只写一个观察者,可能会删除写入方法;就是这个。
答案 1 :(得分:1)
潜入。
严重的是双脚跳进来。找到你想要制作的东西,然后制作它。
根据你的说法,你已经在Objective-C和Cocoa方面获得了相当多的经验,大多数事情都是直接的。