2013-07-03 22 views
-1

在我的應用程序,我有這樣的事情動態值定義VAR_NAME塊

#define ACCT_ID @"[email protected]" 

有什麼辦法來動態值設置爲這個定義塊?

FOr ex。我向web服務器發出請求,這會返回一些字符串,然後我將此字符串設置爲#define塊。

無論如何要實現這一目標嗎?

+1

NSUserDefaults的使用,而不是#定義,如回答基爾提。 – Mrunal

+0

僅供參考......'#define'是一個宏 - 值保持不變,所以你不能修改它。 –

+0

你知道'#define'的含義嗎?從預處理器獲取動態變量非常困難。 –

回答

0

結束了以下前值:

#define ACCT_ID [[SingletonClass myinstance] getEmail] 
3

你也可以使用nsuserdefault像:

設定值

[[NSUserDefaults standardUserDefaults]setObject:@"[email protected]ail.com" forKey:@"ACCT_ID"]; 

獲取價值

NSString *str= [[NSUserDefaults standardUserDefaults]valueForKey:@"ACCT_ID"]; 

刪除值

[[NSUserDefaults standardUserDefaults]removeObjectForKey:@"ACCT_ID"] 
+0

是否在所有項目中都可見?一段時間後我需要清潔嗎? – Avdept

+0

它可見所有項目和你calean值 –

+0

@Adedept檢查我更新的答案 –

2

嘛,當然不是,因爲所有的行開始與#在預處理器編譯期間發生。爲此 ,給ACCT_ID detemind即使你的程序編譯,它不能改變