標準c中const定義的變數是外連線的,即如果乙個編譯單元中定義了乙個全域性const常量,則其在其他編譯單元中是可見的,如果其他編譯單元也定義了同名const常量就會產生重複定義錯誤。這一點與c++不同,c++中const定義的變數是內連線的,即每個編譯單元定義的全域性const常量是自己獨有的。
objective-c是標準c的另一種擴充套件,那麼我犯的錯誤也就很明顯了——當多個編譯單元都引用那個define.h檔案時出現了重複定義錯。
const int numofghost = 4;
改為static const int numofghost = 4;
就順利編譯通過了。這裡的static是用來把定義的const常量標記為對外不可見的。
objective c中命名規範
一 關於objective c中類的命名規範 1 類名 及其 category name 和 protocal name 的首字母大寫,寫使用首字母大寫的形式 分割單詞。駝峰標示 2 在面向特定應用的 中,類名應盡量避免使用字首,每個類都使用相同的字首影響可讀性。3 在面向多應用的 中,推薦使用字首...
Objective C中的快取
nscache可以設定數量限制,通過countlimit與 totalcostlimit來限制cache的數量或者限制cost。當快取的數量超過countlimit,或者cost之和超過totalcostlimit,nscache會自動釋放部分快取。例子如下 可以看到,cache中只保留了最新的30...
Objective C中的callback之一
oc中的callback有四種型別 下面是第一種 nsrunloop bnrlogger.h tocrunloopa import inte ce bnrlogger nsobject property nonatomic nsdate lasttime nsstring lasttimerstri...