Objective-C 将字典附加到 NSDictionary
Posted
技术标签:
【中文标题】Objective-C 将字典附加到 NSDictionary【英文标题】:Objective-C append dictionary to NSDictionary 【发布时间】:2016-11-11 15:03:08 【问题描述】:我需要使用 NSDictionary 向服务器发送数据。数据将是名称、性别 dll,来自文本字段。我知道我可以像这样保存一本字典。
NSDictionary * = @@"employee": @"EmpA",
@"gender":@"Male",
@"pob":@"SF",
@"age":@"27",
;
但我需要添加多个数据,因为我有可以重复表单过程的按钮。之后,我将根据以下格式将整个数据发送到服务器。
"employee": [
"name": "EmpA",
"gender": "Male",
"pob": "SF",
"age": 27
,
"name": "EmpB",
"gender": "Female",
"pob": "TX",
"age": 36
]
如何动态追加字典?
谢谢
【问题讨论】:
使用NSMutableArray
保存多个字典
正如 rckoenes 所说,您需要使用 Mutable 版本。一般来说,你会经常使用NSMutableArray
、NSMutableDictionary
、NSMutableString
、NSMutableRequest
等
【参考方案1】:
使用字典数组:
NSMutableArray *employees= [[NSMutableArray alloc] init];
for(//loop through the forms)
NSDictionary *emp = @@"name": @"EmpA",
@"gender":@"Male",
@"pob":@"SF",
@"age":@"27",
;
[employees addObject:emp];
NSDictionary *payload = @@"employee": employees;
我手头没有 mac,所以请原谅任何语法错误。
【讨论】:
【参考方案2】:您需要创建一个字典数组并将其插入到您的“员工”键中。像这样的东西应该可以工作:
NSMutableDictionary *employee = [[NSMutableDictionary alloc]init];
NSMutableDictionary *emplyeeA = [@@"name": @"EmpA", @"gender": @"Male", @"pob": @"SF", @"age": @"27" mutableCopy];
NSMutableDictionary *emplyeeB = [@@"name": @"EmpB", @"gender": @"Female", @"pob": @"TX", @"age": @"36" mutableCopy];
NSMutableArray *tempArray = [[NSMutableArray alloc] init];
[tempArray addObject: emplyeeA];
[tempArray addObject: emplyeeB];
[employee setObject:tempArray forKey:@"employee"];
【讨论】:
您不需要为emplyeeA & B 再次请求mutableCopy以上是关于Objective-C 将字典附加到 NSDictionary的主要内容,如果未能解决你的问题,请参考以下文章
Objective-C如何使用标题中的嵌套字典将数据发送到Http Post请求
如何在使用桥接头时将数据(字典)从 Objective-C 控制器传递到 Swift `viewcontroller` 中?还有其他方法吗?