0

サーバー上の複数のファイルを削除したいのですが、パラメーターの複数の値をサーバーに送信する必要があります。例: upload_id="11,12,13"、各値はコンマで区切られた文字列です。NSArray を使用しましたが、機能しません。サーバーの応答に失敗しました。これは私のコードです:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if([_tableView cellForRowAtIndexPath:indexPath].accessoryType == UITableViewCellAccessoryCheckmark){
        [_tableView cellForRowAtIndexPath:indexPath].accessoryType = UITableViewCellAccessoryNone;
    }else{
        [_tableView cellForRowAtIndexPath:indexPath].accessoryType = UITableViewCellAccessoryCheckmark;
    }
    NSArray *selectedRows = [_tableView indexPathsForSelectedRows];

    for (NSIndexPath *indexPath in selectedRows) {
        uploadidString =[uploadidArray objectAtIndex:indexPath.row];
    }
    [iduploadArray insertObject:uploadidString atIndex:0];
    NSLog(@"ID UPLOAD Array %@",iduploadArray);
}

-(void) deleteItems 
{
    NSURL *url1 = [NSURL URLWithString:@"http://myserver"];
    AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL: url1] ;

    NSDictionary *params1 = @{
                              @"upload_id" :  [NSArray arrayWithObjects:iduploadArray,nil],

                              };

    NSMutableURLRequest *afRequest = [httpClient requestWithMethod:@"POST" path:nil parameters:params1] ;
    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:afRequest];

    [operation  setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"Success");
        NSString * parsexmlinput = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
        NSLog(@"Response in Delete items: %@", parsexmlinput); 
        [self parseXMLFile:parsexmlinput];


    }
                                      failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                                          NSLog(@"error: %@", error);

                                      }
     ];
    [httpClient enqueueHTTPRequestOperation:operation];


}

提案はありますか?

4

1 に答える 1

5

パラメータを作成するときは、配列で使用componentsJoinedByString:@","して、必要な形式の文字列に変換します。

@"upload_id" : [iduploadArray componentsJoinedByString:@","],
于 2013-07-09T06:47:59.463 に答える