jbr*_*nan 16 architecture cocoa interface-builder cocoa-bindings nsviewcontroller
经过长时间的iPhone工作后,我回到Mac上的Cocoa开发中.我之前在Mac上使用Cocoa的经历只是一些小巧的工具.我想要建立一些严肃的东西.
查看像iPhoto(或Mail或Things或......)这样的现代Cocoa应用程序,许多应用程序使用基于单窗口,源列表的方法.我试图尽我所能地绕过那个,因为它似乎提供了一个很好的体验.但是,我有点麻烦.这是我认为应该如何看待,但我想知道其他人是如何做到的,以及最好的方法是什么:
应用程序的起点是一个AppDelegate对象,在启动后,从一个笔尖创建一个Window [Controller?],同时设置其数据(来自CoreData)
WindowController加载一个基本上只有NSSplitView的窗口.
splitview的左侧有一个NSTableView或NSOutlineView,它被设置为具有SourceList样式.
右侧具有应用程序的主要内容,具体取决于选择的表视图的哪个项目.
我会假设某处(哪里?)有NSViewControllers管理将出现在右侧的每个不同视图(想想iPhoto如何拥有所有照片,事件,面孔,地方等等,我想他们都可以出现在不同的笔尖中... 它是否正确?).
那些视图控制器可能绑定到左侧的源列表..这是如何工作的(源列表由NSViewControllers的NSArrayController支持?).
无论如何,那些是我的想法,我是完全偏离基础还是......?我环顾网络,在这里发现这篇文章,我看了一些Apple的源代码,但我似乎无法绕过它.欢迎任何指导.
将视图分解为单独的nib主要是好的,如果你要为其他人换掉一些视图,因为你可以懒得加载它们.是的,在现代应用程序中,您将使用NSViewController,或者可能使用KTUIKit的KTViewController(参见她共同撰写的关于NSViewController的帖子)
但是,不要只是碰到源列表的武器.单窗口界面可以很好地用于简单的应用程序,但是当你有很多事情发生时很快就会变得笨拙,因为通过将它们分成单独的窗口可以更好地服务它们.iTunes和Xcode都提供了很多这方面的例子(特别是后者,因为你可以在SWI和MWI之间切换).
您需要考虑多窗口或单窗口界面是否会更适合您的应用.所有应用都没有一个答案; 它完全取决于你的应用程序,你想要它做什么,以及你希望它看起来如何 - 你(以及你的团队的其他成员,如果你有的话)是唯一能够回答这个问题的人.您可能希望进行一些纸张原型设计,以便在每个方向上进行快速实验,这样您就可以至少保持两个UI的虚假示例.
| 归档时间: |
|
| 查看次数: |
2986 次 |
| 最近记录: |