0

我正在尝试使用传递给 Web 服务的参数创建一个字符串,但在运行时之前我永远不知道会有多少参数。

所有参数都存储在一个数组中,我遍历数组,将每个参数添加到字符串中。

.php 端的变量标记为 field1、field2、field3 等。

我的问题在于当我尝试在 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];

}
4

2 回答 2

2

stringWithString应该是stringWithFormat

于 2012-08-07T20:26:40.447 回答
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?"];
于 2012-08-07T20:28:07.440 回答