我是Objective-C的新手。本質上,我想將一組Endpoint URL作爲字符串存儲在我的應用程序中,但是我需要根據應用程序是否處於DEBUG模式而需要一個不同的域。我想這可能是使用頭文件(Common.h
例如)用一些簡單的定義,像這樣有用:很明顯,因爲你不能立足恆定在另一個常量的值,這並不工作如何爲全局使用#define NSString?
#ifdef DEBUG
#define kAPIEndpointHost @"http://example.dev"
#else
#define kAPIEndpointHost @"http://www.example.com"
#endif
#define kAPIEndpointLatest [kAPIEndpointHost stringByAppendingString:@"/api/latest_content"]
#define kAPIEndpointMostPopular [kAPIEndpointHost stringByAppendingString:@"/api/most_popular"]
顯然。
什麼是「正確」的方式來做到這一點?使用返回正確端點值的類方法擁有合適的類會更有意義嗎?
編輯:只要是明確的,「最新」和「MostPopular」字符串的主機字符串是基於是我遇到的最麻煩的東西。編譯器不喜歡#defines的stringByAppendingString
部分。
我看不出有什麼不對的,TBPH。 – 2011-04-13 01:47:49
編譯器抱怨'stringByAppendingString'部分。我猜你不能#根據另一個常量定義一個常量。 – markquezada 2011-04-13 01:50:22
什麼是實際的編譯器錯誤信息?我剛剛使用了上面的代碼片段,它編譯/運行得很好。 – 2011-04-13 02:13:09