从iOS背景开发OS X.

Cap*_*uff 16 macos objective-c ios

我已经为iOS开发了几年,并且认为自己在iOS和Objective C方面非常称职.我想进一步扩展我的技能并进入OS X的桌面应用程序领域.

考虑到视图控制器和窗口控制器这两个平台的范例截然不同(仅举几例),我很难找到一个不错的起点,因为我对iOS SDK的了解在浏览操作系统时引起了混乱X文档.

对我来说,iOS的主要类是UIViewController(和它的变体,UINavigationControllerUISplitViewController)和UIView.前往这些品牌学习他们的子类(如把手UIButton,UITextField)更容易理解,同时也获得一些在屏幕上提供显着的成果.

目前,我的理解NSViewController并不一定是相同的对应物UIViewController.另外,考虑到OS X应用程序可以有多个窗口,UIWindowController对我来说是完全陌生的,我不明白它将如何位于应用程序的层次结构中.

任何经验丰富的OS X老手都会非常友好地建议哪些课程对我来说是最有用的起点并且可以随意播放?在这一点上对我有帮助的是找到我应该集中精力的SDK的哪个方面,以充分辨别iOS和OS X之间的差异.

编辑:

我不是要求教程列表.我更倾向于某人解释多视图控制器层次结构(iOS)的范例与OS X的单个窗口设置之间的区别和/或建议最好调查哪些类作为在屏幕上获取某些内容的起点为NSWindowNSWindowController.

Jus*_*Sid 9

OS X与iOS非常相似,它也遵循MVC概念.然而,整个用户体验是不同的,由于这样的事实,OS X通常工作与更大的显示屏,并使用鼠标和键盘进行输入,所以1:1之间的映射假设NSViewControllerUIViewController是不可能的.通常情况下,你有一个窗口控制器,它有点像你期望你的视图控制器在iOS下.但是,使用例如,而不是在视图控制器之间转换.a UINavigationController,您要么将第二个窗口显示为模态工作表,要么只是将其作为面板或类似工具打开.

只需看看你的普通Mac应用程序,iOS下的大多数东西需要多个视图控制器和它们之间的过渡,只需要一个包含所有内容的窗口.在OS X下查看控制器要比iOS的下用处不大,但是,他们的工作极大地保持不同的逻辑在多个类分裂,或当你想显示之间的窗口和变化中的不同内容(认为的Xcode,左和右窗格总是相同,但中间,文本编辑器,目标编辑器等中的内容会发生变化.这将是一个使用多个视图控制器的地方).

我的建议是不要试图iOS'Yy Mac应用程序.虽然您可以保持底层逻辑相同,但是由于OS X上的整个用户体验差异很大,因此应用程序的表示应该根本不同.如果你不知道如何与像工作的事情NSWindowController,NSDocument和一切,由苹果公司提供的文档和示例代码是在大多数情况下是相当不错的(虽然有些例子是老年人)