2012-09-06 62 views
1

當我使用終端命令CAPP創MyProject的創造新的卡布奇諾的項目,我得到AppController.j使用許多基金會和了AppKit類,但只有一個import語句進口的卡布奇諾

@import <Foundation/CPObject.j> 

如何卡布奇諾進口系統工作?應用程序如何知道CPNotification,CPWindow,CPTextField和AppController.j中使用的其他類。

謝謝!

回答

1

大部分的進口是多餘的,但它的好,有他們,因爲它與我們的靜態分析工具,有助於幫助帶出代碼,當你建立生產。

在index.html和index-debug.html頁面上定義了兩個「環境」變量。 見here

OBJJ_INCLUDE_PATHS主要是對objj進口框架/庫代碼的時候看的地點列表。因此,例如你做:代替

@import <Foundation/CPObject.j> 

@import "Foundation/CPObject.j> 

這是因爲基金會/ CPObject.j生活框架內。所以做@import "Frameworks/Foundation/CPObject.j與使用尖括號完全相同。

這意味着你將你的框架代碼到任何你想要的目錄,並通過使用尖括號語法,我們能夠找到這些文件沒有一個真正的路徑。


那麼您的應用程序如何知道所有其他不直接導入的類? 那麼,如果你注意到我鏈接到上面的索引文件,還有另一行指定objj可以在哪找到main()。在該文件的頂部,main.j同時導入Foundation和AppKit框架:See Here

我們可以follow這些進口,並看到CPWindow.j大幹快上line 109 of AppKit.j進口。

因此,由於AppKit.j爲你導入了大部分的AppKit,所以你的類依賴於CPWindow(例如)不應該手動導入它......但它肯定不會傷害(文件永遠不會被導入兩次)。

但因爲了AppKit和地基不知道自己的類東西,你寫,你就需要手動導入這些。

+0

這是我能得到的最好解釋!謝謝! –