2014-02-07 18 views
0

我在名爲MyProject的項目中使用名爲MyLibpod。在我的項目,當我「進口」 MyLib,文件Pods-MyLib-prefix.pch包含const以下instanciation:與可可豆莢使用相同的兩個不同的時間:它怎麼可能?

static const int ddLogLevel = LOG_LEVEL_VERBOSE; 

,但在「主」 .pch(文件MyProject-prefix.pch),我能夠實例相同常量到一個不同的值,沒有錯誤:

static const int ddLogLevel = LOG_LEVEL_DEBUG; 

這是完美的,我沒有任何問題,但我有點驚訝。所以我的問題是:

  1. 怎麼可能實例兩次以這種方式同const?提出這個問題,我想用pods獲得更多關於項目底層架構的信息。

  2. 我們可以用同樣的方法定義幾次相同的#define THE_SAME_KEY_WORD嗎?

回答

0

在我看來,你必須使用的extern const int的ddLogLevel和const int的ddLogLevel到項目中有代碼相同的常量作爲庫代碼。

至於我記得是這樣的: 靜態*只有本地(內部文件)的定義 常量*全局常量 的extern const的*利用外部定義常數值沒有問題

希望這有助於。