Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在AFPOST方法中发送数组值_Ios_Objective C_Arrays_Afnetworking - Fatal编程技术网

Ios 在AFPOST方法中发送数组值

Ios 在AFPOST方法中发送数组值,ios,objective-c,arrays,afnetworking,Ios,Objective C,Arrays,Afnetworking,以这种格式发送[@“语言”:“英语”,“语言”:“泰米尔语”] 试过这个 NSArray *test=@[@"English",@"Tamil"]; NSMutableDictionary *dict = [[NSMutableDictionary alloc]init]; NSInteger noselectedlangu= [test count]; int i; for(i=0;i<noselectedlangu;i++) { [dict setObject:te

以这种格式发送
[@“语言”:“英语”,“语言”:“泰米尔语”]

试过这个

 NSArray *test=@[@"English",@"Tamil"];
 NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];

 NSInteger noselectedlangu= [test count];
 int i;

for(i=0;i<noselectedlangu;i++)
{
    [dict setObject:test[i] forKey:@"language"];
}

 NSLog(@"params : %@", dict);
NSArray*测试=@[@“英语”,“泰米尔语”];
NSMutableDictionary*dict=[[NSMutableDictionary alloc]init];
NSInteger noselectedlangu=[测试计数];
int i;

for(i=0;i之所以发生,是因为字典只为一个键存储一个值。如果您要用同一个键保存另一个值,则它将替换您在字典上设置的最后一个值

示例:

NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
 [dict setObject:@"Hindi" forKey:@"language"];

NSLog(@"Dic Value %@", dict);
输出:印地语

NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
 [dict setObject:@"Hindi" forKey:@"language"];
 [dict setObject:@"English" forKey:@"language"];

NSLog(@"Dic Value %@", dict);
输出:英语

你可以看到印地语被英语取代,因为我们使用的是同一个键

希望你现在能很好地理解它

你可以这样储存

for(i=0;i<noselectedlangu;i++)
{
    NSString *key = [NSString stringWithFormat:@"language%d",i];
    [dict setObject:test[i] forKey:key];
}


NSLog(@"Dinctionary %@",dict);
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];

[dict setObject:@"English" forKey:@"language[0]"];
[dict setObject:@"Hindi" forKey:@"language[1]"];

for(i=0;i如果您想要此输出,请在下面使用它可能会有所帮助,但您必须使用数组访问它

NSArray *test=@[@"English",@"Tamil"];
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
NSMutableArray *arr = [[NSMutableArray alloc]init];
NSInteger noselectedlangu= [test count];
int i;
for(i=0;i<noselectedlangu;i++)
{
    NSMutableDictionary *dic = [[NSMutableDictionary alloc]init];
    [dic setObject:test[i] forKey:@"language"];
    [arr insertObject:dic atIndex:0];
    [dict setObject:arr forKey:@"languages"];
}
NSLog(@"params : %@", dict);
NSArray*测试=@[@“英语”,“泰米尔语”];
NSMutableDictionary*dict=[[NSMutableDictionary alloc]init];
NSMutableArray*arr=[[NSMutableArray alloc]init];
NSInteger noselectedlangu=[测试计数];
int i;
对于(i=0;i试试这个,
在我的应用程序中,按如下方式在数组中传递数据

for(i=0;i<noselectedlangu;i++)
{
    NSString *key = [NSString stringWithFormat:@"language%d",i];
    [dict setObject:test[i] forKey:key];
}


NSLog(@"Dinctionary %@",dict);
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];

[dict setObject:@"English" forKey:@"language[0]"];
[dict setObject:@"Hindi" forKey:@"language[1]"];

在参数中传递dict。

您应该用所有语言发送逗号分隔的字符串。当您在字典中存储同一个键的值时…它将在字典中被覆盖,不会生成一个完整的新键。我理解这个问题,但如何修复@dharmirSingh@kirankumar查看我编辑的答案。您可以这样存储。它应该具有相同的键和密钥不应更改在这种情况下,您可以发送语言密钥中的语言数组,然后它将是类似于此语言的东西:英语、印地语……api不接受这样的东西感谢您的回复,但我应该在参数@“语言”中插入dict:@[dict]您能提供类似于此的解决方案吗@“语言”:“英语”和“语言”:“泰米尔语”在字典中没有显示同一个键的选项,为什么不在数组中尝试呢?@kirankumarhow我可以在数组中做一些类似的事情吗?你必须在一个数组中添加所有(语言)字典。方便吗?否则你必须在api端进行更改。