在我以前的應用程序中,我一直在需要的地方輸入我的* .h文件。我之前沒有真正考慮過這個問題,因爲我沒有遇到任何問題,但是今天我發現了一些讓我想到的東西,也許我應該#輸入我的.m文件並在需要時使用@class標題( .h)任何人都可以照亮自己應該完成的任務或最佳實踐?#include在哪裏?
加里
在我以前的應用程序中,我一直在需要的地方輸入我的* .h文件。我之前沒有真正考慮過這個問題,因爲我沒有遇到任何問題,但是今天我發現了一些讓我想到的東西,也許我應該#輸入我的.m文件並在需要時使用@class標題( .h)任何人都可以照亮自己應該完成的任務或最佳實踐?#include在哪裏?
加里
作爲一個經驗法則,在您的頭文件中使用@class
和在.m文件中使用#import
是很好的做法。如果你從錯誤的編譯器:)
基本上做到這一點,你會得到一個錯誤,如果你只是做參考,你要使用的類,但沒有任何具體類的然後@class
是所有是必須的。它告訴編譯器「我將在這裏使用這個類 - 你不需要知道多少,除了它是有效的」。 (編譯器知道爲它保留一個指針)。
如果您打算引用類中的任何屬性/方法,編譯器會開始抱怨(因爲它沒有足夠的關於類的信息),所以在這種情況下,它希望您導入文件(#import xxx
),以便爲編譯器提供類的細節。
希望這會有幫助
在任何源文件,僅導入你需要做的是單個文件的有效期爲編譯什麼。 @class比導入另一個類的頭文件更可取,因爲加載的越少,編譯得越少。
謝謝,我現在明白了。 – fuzzygoat 2010-05-04 12:55:21