2012-11-30 65 views
1

我從iOS3開始就是iOS開發者。我決定嘗試Mac開發,但我遇到了很多不同之處。所以我有幾個問題。NSWindow在OS X上與iOS上的UIView相同嗎?

  1. 是iOS上的NSWindow == UIView?如果是這樣,控制器類是什麼? (即UIViewController)。

  2. 有誰知道一些來自iOS背景的Mac開發者的好教程? Google今天沒有幫助。

+0

有'NSView',但是因爲「文檔」在大多數OSX應用程序中非常重要,所以正常的控制器結構是不同的。我沒有教程便利,但是這裏有一個文檔,涵蓋了你所要求的一些內容:http://developer.apple.com/library/mac/#documentation/DataManagement/Conceptual/DocBasedAppProgrammingGuideForOSX/KeyObjects/KeyObjects。 html –

+1

從根本上說,NSWindow在OSX上沒有相同的功能,因爲iOS應用程序本質上是單窗口的。 –

回答

2

一個NSWindow是不相同的一個UIView(一個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旁邊。

+0

我想知道我的委託方法 - (void)viewDidLoad。有沒有相當的? – Weston

+1

'viewDidLoad'是'UIViewController'的方法,而不是'UIView'。 OS X上的等價物將是'NSWindowController'和'NSViewController'。 – omz

1

查看開發人員網站。例如有Start Developing Mac Apps Today

你知道Objective-C,Cocoa哲學和開發環境。所以你會很快完成這個過程,你會很容易地看到差異。這是一個基本的教程演練 - 但有很多鏈接到相關章節,你可以閱讀。

留意可可綁定 - 這不在iOS上,但對編寫桌面應用程序非常有用。

從評論跟進另一個答案

與iOS的地方只有一個屏幕,但許多意見窗口,桌面使用更多的窗口。根據iOS視圖和控制器範式進行思考將會受到限制。看看Windows Programming Guide讓你開始。

1

的2

答案你可以參考很多網站,我想與大家分享我的學習過程。

我開始用這些學習...

斯坦福大學演講CS193

琳達的影片

可可規劃爲Mac OS X由Aaron Hillegas

Cocoadevcentral.com

末其中一個當然是堆棧溢出......這是理清所有疑惑的最佳地點。