2012-08-07 80 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?"];