如何发送多个阵列请求?

时间:2014-02-27 17:05:10

标签: ios iphone objective-c nsmutablearray

很抱歉,如果我的问题看起来很模糊,但我需要知道如何执行以下操作。我有这种方法将数组发送到服务器,如此。

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方法?

2 个答案:

答案 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并以它想要使用的任何形式使用它。

这将是一种更简单和结构化的方法。

相关问题