ios - 将两个 NSarray 转换为 NSString
问题描述
嗨,我的视图控制器中有两个 NS 数组,它们的计数相同。顺便说一句,这是为了提交上传。
barcodeItems = [[NSMutableArray alloc] init];
barcodeItemsQuantity = [[NSMutableArray alloc] init];
填充数组后,将调用此方法,
-(void) performUploadOperation {
parameters = [NSMutableDictionary dictionary];
// Add barcodes and quantity
if (barcodeItems != nil || barcodeItemsQuantity != nil) {
[parameters setValue:barcodeItems forKey:@"upc"];
[parameters setValue:barcodeItemsQuantity forKey:@"upcQuantity"];
}
}
提交后,将调用另一个方法将其转换为 nsstring
NSArray* upc = [parameters objectForKey:@"upc"];
NSArray* upcQuantity = [parameters objectForKey:@"upcQuantity"];
NSString* sample = [NSString stringWithFormat:@"{\"upc_list\" : { \"%@\": %@}}", upc, upcQuantity];
NSLog(@"%@", sample);
结果是这样的
{"upc_list" : { "(
76239878,
0827755090991,
76239878
)": (
12,
23,
32
)}}
我想要实现的是这样的。两个数组始终具有相同的计数
{"upc_list" : { "
(
"76239878" : 12,
"0827755090991" : 23,
"76239878" : 32
)
}}
解决方案
@jordanzee:您可以使用以下代码来获得预期的结果。
NSArray *upc = [parameters objectForKey:@"upc"];
NSArray *upcQuantity = [parameters objectForKey:@"upcQuantity"];
NSMutableDictionary *aMutDict = [NSMutableDictionary dictionary];
for(NSInteger aIndex = 0; aIndex < upc.count; aIndex++){
[aMutDict setValue:upcQuantity[aIndex] forKey:upc[aIndex]];
}
NSString *sample = [NSString stringWithFormat:@"{\"upc_list\" : %@}", aMutDict];
NSLog(@"%@", sample);
推荐阅读
- c# - Angular 8 web api项目中不允许发布方法返回405方法
- java - 即使对于高堆大小分配,Jmeter 也会测试内存不足错误
- javascript - 用动态数据绘制谷歌饼图
- docker - 使用 nvm 和 docker-compose 更改节点版本
- reactjs - 如何在 HOC reactjs 中使用 history.push?
- python - UnicodeDecodeError:“utf-8”编解码器无法解码位置 237 中的字节 0xc7:无效的继续字节
- javascript - React 嵌套子组件的访问状态
- javascript - AG GRID-> Angular 中的超级搜索
- ios - Xcode 11 - 移除本地化
- angular - 如何将参数传递给Angular 9中的路由匹配器函数?