很抱歉,如果我的问题看起来很模糊,但我需要知道如何执行以下操作。我有这种方法将数组发送到服务器,如此。
ViewController.m
[requestHandler getRequest:array_id[0]];
RequestHandler.m
-(void)getRequest:(NSMutableArray)array {
__weak ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request addPostValue:array forKey:@"array_id[0]"];
}
正如你所看到的,我可以完美地发送数组的第一个值。但是,我需要将像array_id [0],array_id [1],array_id [3],array_id [4]这样的数组发送到服务器通过addPostValue。数组计数总是不同的。所以我需要做类似以下的事情。几乎不断添加基于数组计数的请求方法和post方法。
-(void)getRequest:(NSMutableArray)array array1:(NSMutableArray *)array1 {
[request addPostValue:array forKey:@"array_id[0]"];
[request addPostValue:array1 forKey:@"array_id[1]"];
}
执行此类任务的最佳方法是什么,并记住数组计数始终不同,所以我需要一种方法来继续添加getrequest方法和请求addpost方法?
答案 0 :(得分:1)
如果我正确理解您的问题,您可以只使用一个getRequest
方法接收包含 x 数组的NSArray
数组。类似的东西:
- (void)getRequest:(NSArray*)array {
for (uint i = 0; i<array.count; i++) {
NSArray *arr = array[i];
[request addPostValue:arr forKey:[NSString stringWithFormat:@"array_id[%i]", i]];
}
}
然后,这样打电话:
[requestHandler getRequest:@[array_id[0], array_id[1]]];
答案 1 :(得分:0)
更简单的是,您制作数组的JSON / XML,然后将其传递给您的请求构建器。
在构建请求和调用服务器时,实现这些逻辑并不是一个好方法。
更好的方法是创建一个数组的json,然后将其发布到服务器,然后服务器可以解码json并以它想要使用的任何形式使用它。
这将是一种更简单和结构化的方法。