我遇到类似的问题,我必须的多个参数,其中之一(仅其中的一个参数)被认为是一个数组。更简单的方法,我发现是添加值数组到一个NSMutableArray,然后将这些值传送到参数:
//Don't forget to set this array to retain its values in the property
self.arrSelected = [[NSMutableArray alloc]initWithArray:nil];
if(switch1.selected){
[self.arrServicesSelected addObject:@"value1"];
}
if(switch2.selected){
[self.arrServicesSelected addObject:@"value2"];
}
if(switch3.selected){
[self.arrServicesSelected addObject:@"value3"];
}
然后你只需要经过阵列和值添加到POST参数。确保你将它们添加到不同的索引。我看到一些人在没有索引的情况下将[]添加到[],并且这将不起作用,因为它只会添加最后一个。如果您不使用[],则只会添加第一个。
for(int i=0; i< [self.arrSelected count];i++){
[requestPOST setPostValue:[self.arrSelected objectAtIndex:i] forKey:[NSString stringWithFormat:@"chk_parameter_serv[%i]", i]];
}
您还可以使用forin语法:
int i=0;
for(NSString *strValue in self.arrSelected)
[requestPOST setPostValue:strValue forKey:[NSString stringWithFormat:@"chk_parameter_serv[%i]", i++]];
感谢丹,我发誓我以前曾尝试过这种方式,但它不起作用,但它现在正在工作 - 我的应用程序现已完成!谢谢。 – 2011-03-24 08:36:29