【问题标题】:Is NSWindow on OS X the same as UIView on iOS?OS X 上的 NSWindow 和 iOS 上的 UIView 一样吗?
【发布时间】:2012-11-30 14:48:50
【问题描述】:

我从 iOS3 开始就是一名 iOS 开发人员。我决定尝试 Mac 开发,但我遇到了很多不同之处。所以我有几个问题。

  1. 在 iOS 上是 NSWindow == UIView 吗?如果是这样,控制器类是什么? (即 UIViewController)。

  2. 有没有人知道一些适用于 iOS 背景的 mac 开发者的好教程? Google 今天没有提供帮助。

【问题讨论】:

  • NSView,但因为“文档”在大多数 OSX 应用程序中非常重要,所以正常的控制器结构是不同的。我手边没有教程,但这里有一份文档,涵盖了您所要求的一些内容:developer.apple.com/library/mac/#documentation/DataManagement/…
  • 从根本上说,NSWindow 在 OSX 上没有等价物,因为 iOS 应用程序本质上是单窗口的。

标签: objective-c macos cocoa


【解决方案1】:

NSWindowUIView 不同(NSView 更接近 UIView)。查看链接的开发人员文档以了解差异。

当我从 iOS 转到 OS X 时,我得到了 Hillegass 和 Preble 的 Cocoa Programming for Mac OS X(亚马逊英国链接)的副本。我跳过了关于 Objective-C 基础的第一部分,主要集中在 UI 差异上。特别是 NSTableViews 与 UITableViews 大不相同。几天后,我对自己的应用有了足够的了解,并把这本书当作参考书来使用。

此外,开发者文档就是你的圣经。我下载了 DocSets 应用程序(4.99 美元的 App Store 链接 - also available on GitHub),以便在我的 iPad 上查看它,并在开发时将它放在我的 Macbook 旁边。

【讨论】:

  • 我想知道我从哪里得到我的委托方法 - (void)viewDidLoad。有没有等价物?
  • viewDidLoadUIViewController 的方法,而不是UIView。 OS X 上的等价物是 NSWindowControllerNSViewController
【解决方案2】:

2 的答案。

你可以参考很多网站,我想和你分享我的学习过程。

我开始学习这些...

斯坦福讲座 CS193

琳达的视频

Aaron Hillegas 的 Mac OS X Cocoa 编程

Cocoadevcentral.com

最后一个当然是Stack Overflow...这是解决你所有疑惑的最佳场所。

【讨论】:

    【解决方案3】:

    查看开发者网站。例如有Start Developing Mac Apps Today

    您了解 Objective-C、Cocoa 哲学和开发环境。所以你会很快地完成这个,你会很容易看到差异。这是一个基本的教程演练 - 但有很多相关部分的链接可供您阅读。

    留意 Cocoa Bindings - 它不在 iOS 上,但对于编写桌面应用程序非常有用。

    对另一个答案的评论跟进

    与屏幕上只有一个窗口但视图很多的 iOS 不同,桌面使用更多的窗口。从 iOS 视图和控制器范式的角度思考会受到限制。请查看Windows Programming Guide 以帮助您入门。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-21
      • 1970-01-01
      • 2014-01-16
      • 2010-10-09
      • 2011-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多