2012-08-07 33 views
0

我想創建一個字符串與參數,我傳遞給一個Web服務,但我永遠不知道將有多少參數將要運行。在運行時聲明一個字符串與變量

所有的參數都存儲在一個數組中,我遍歷數組,併爲每個字符串添加一個。

上.PHP側的變量標記字段1,字段2,字段3等

我的問題在於,當我試圖聲明字符串中的for循環。我正在嘗試使用x並將其附加到「字段」一詞,以便我可以結束字段1,字段2,字段3等。

當我嘗試執行此操作時,出現錯誤消息,指出存在參數比預期更多。

這是我有:

NSString *URLWithParameters = [NSString stringWithFormat:@"http://www.mywebsite/service?"]; 

for (int x = 0; x < [fields count]; x++) { 

    NSString *temp = [NSString stringWithString:@"field%i=%@&", x, (NSString *)[fields objectAtIndex:x]]; 

    URLWithParameters = [URLWithParameters stringByAppendingString:temp]; 

} 

回答

2

stringWithString應該stringWithFormat

+0

1和情況正好相反(參見第一行)。 – jv42 2012-08-08 13:43:58

1

變化:

NSString *temp = [NSString stringWithString:@"field%i=%@&", x, (NSString *)[fields objectAtIndex:x]]; 

到:

NSString *temp = [NSString stringWithFormat:@"field%i=%@&", x, (NSString *)[fields objectAtIndex:x]]; 


注:

爲什麼你使用[NSString stringWithFormat:@"http://www.mywebsite/service?"]時可以直接使用它像這樣:

NSString *URLWithParameters = @"http://www.mywebsite/service?"; 

或使用stringWithformat

NSString *URLWithParameters = [NSString stringWithFormat:@"%@", @"http://www.mywebsite/service?"];