我遇到類似的問題,我必須的多個參數,其中之一(僅其中的一個參數)被認爲是一個數組。更簡單的方法,我發現是添加值數組到一個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