2011-01-23 33 views
2

我有我重寫在Mac和iOS上運行的iOS應用。我的觀點工作得很好,但目前一切都是靜止的。改寫iOS應用對iOS和Mac--如何組織控制器代碼工作?

我該怎麼做通常用我的視圖控制器代碼?在僅適用於iOS的應用程序中,通常會有一些東西說「如果用戶在這裏觸摸,那麼做」。

我發現則hitTest:方法。所以我很確定我可以寫出所有的東西,所以它可以工作。我想我的問題是更多的組織。理想情況下,我想設置一些東西,以便目前在UIViewController子類中的代碼可以在兩個平臺上工作。

回答

5

您將無法使兩個平臺上的UIViewController的代碼工作。 Mac沒有UIKit,而iPhone沒有AppKit。

你真的想在這一點上做的是有你的所有網絡,數學和邏輯代碼在外部類。通常是NSObject的子類。然後,你所要做的就是編寫在你的視圖控制器中調用這些類的代碼。

你要面對的,雖然一個進一步的挑戰 - 我不認爲你可以在iPhone和Mac的應用程序運行從一個包。當您編譯應用程序,你通常編譯爲一個特定的處理器。 Mac在Intel/PowerPC上運行,iPhone在Arm上運行。你將不得不擺弄構建目標等等。

我會建議維護兩個獨立的項目,並將上述邏輯類放入共享位置,並確保在導入它們時不選擇「複製到組目標文件夾」選項。通過這種方式,您對iPhone版本的代碼進行的任何編輯都會與Mac版本進行交互,反之亦然。

快樂編碼,

贊恩