當參數數量可變時,用NSString
建立查詢的最智能方法是什麼?用於查詢字符串的stringWithFormat變量參數列表
比方說,我有一個Web服務,它返回一個由參數列表過濾的國家列表。例如:
NSString *continent = @"europe";
NSString *language = @"german";
NSString *timeZone = @"UTC+1";
// to be continued
因此,我的查詢字符串將是:
[NSString stringWithFormat:@"/getCountries?continent=%@&language=%@&timezone=%@",
continent, language, timeZone];
我的回答將包含
奧地利,德國和瑞士
,因爲它們匹配三個參數。
現在我正在尋找最聰明的方式(例如不是意大利麪代碼if
s)來構建此查詢,當這些參數的0:n可能爲零時。 (例如,當*timeZone
是nil
時,該URL不應包含timezone=nil
)結果應該是NSString
。在一個NSDictionary
[NSString stringWithFormat:@"/getCountries?continent=%@&language=%@&timezone=%@", (continent ? continent : @""), (language ? language : @""), (timezone ? timezone : @"")];
在零大陸的情況下,例如,什麼是你最好:從查詢中刪除它或把它,但空的,就像這樣:'大陸=語言...' –
@LuizCarlosQuerinoFilho本來我正在尋找一種方法來完全刪除零部分,但您的建議也應該在這種情況下工作。 – Chris