NSMutableDictionary添加数据时遇到的问题
来源:互联网 发布:mac如何强制删除文件 编辑:程序博客网 时间:2024/05/17 07:12
//根据需求,我需要在网络请求后在数据源里面添加另外的一个参数[manager GET:@"http://mobile.pinlehuo.com/api.php?m=Wallet&a=bindcard&user_id=1101" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { for (NSMutableDictionary *dic in responseObject[@"data"]) { [dic setValue:@"YES" forKey:@"checked"]; [dataArray addObject:dic]; } } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"%@", error); }]; //我按照上面的方法直接在遍历后往字典里面添加参数 会报这个错误 Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object'在网上查了一下,说是因为2个字典的内存地址不一样照成的//下面我又初始化了一个字典,根据现有的字典创建字典 成功了 NSMutableDictionary *mutableItem; for (NSDictionary *dic in responseObject[@"data"]) { // NSLog(@"%@", dic); mutableItem = [NSMutableDictionary dictionaryWithDictionary:dic]; [mutableItem setValue:@"YES" forKey:@"checked"]; [dataArray addObject:mutableItem]; }//下面附上一些NSDictionary内容来自http://blog.csdn.net/ms2146/article/details/8656787 //创建字典 NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"]; NSLog(@"dic1 :%@", dic1); //创建多个字典 NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys: @"value1", @"key1", @"value2", @"key2", @"value3", @"key3", @"value4", @"key4", nil]; NSLog(@"dic2 :%@", dic2); //根据现有的字典创建字典 NSDictionary *dic3 = [NSDictionary dictionaryWithDictionary:dic2]; NSLog(@"dic3 :%@", dic3); //根据key获取value NSLog(@"key3 value :%@", [dic3 objectForKey:@"key3"]); //获取字典数量 NSLog(@"dic count :%d", dic3.count); //所有的键集合 NSArray *keys = [dic3 allKeys]; NSLog(@"keys :%@", keys); //所有值集合 NSArray *values = [dic3 allValues]; NSLog(@"values :%@", values); NSMutableDictionary *mutableDic = [[NSMutableDictionary alloc] initWithObjectsAndKeys: @"mvalue1", @"mkey1", @"mvalue2", @"mkey2", nil]; //添加现有的字典数据 [mutableDic addEntriesFromDictionary:dic3]; NSLog(@"mutableDic :%@",mutableDic); //添加新的键值对象 [mutableDic setValue:@"set1" forKey:@"setKey1"]; NSLog(@"set value for key :%@",mutableDic); //以新的字典数据覆盖旧的字典数据 [mutableDic setDictionary:dic2]; NSLog(@" set dictionary :%@",mutableDic); //根据key删除value [mutableDic removeObjectForKey:@"key1"]; NSLog(@"removeForkey :%@",mutableDic); //快速遍历 for(id key in mutableDic) { NSLog(@"key :%@ value :%@", key, [mutableDic objectForKey:key]); } //枚举遍历 NSEnumerator *enumerator = [mutableDic keyEnumerator]; id key = [enumerator nextObject]; while (key) { NSLog(@"enumerator :%@", [mutableDic objectForKey:key]); key = [enumerator nextObject]; } //根据key数组删除元素 [mutableDic removeObjectsForKeys:keys]; NSLog(@"removeObjectsForKeys :%@",mutableDic); //删除所有元素 [mutableDic removeAllObjects]; NSLog(@"remove all :%@", mutableDic);
0 0
- NSMutableDictionary添加数据时遇到的问题
- vue动态为数据添加新属性遇到的问题
- NSDictionary转NSMutableDictionary的问题
- 添加maven2遇到的问题
- WINCE5.0添加Alphablend组件时遇到的问题
- TableRow动态添加组件时遇到的问题
- TableRow动态添加组件时遇到的问题
- 添加nfs系统时遇到的小问题
- 数据同步遇到的问题
- 数据收集-升级Nginx服务器,添加HTTPS过程中遇到的问题
- VC添加位图遇到的问题
- VC中添加位图遇到的问题
- qemu添加新支持遇到的问题
- 动态添加View遇到的问题
- 添加第三方库遇到的问题
- android添加library遇到的问题
- 添加资源文件遇到的问题
- 迭代器添加元素中遇到的问题
- USB枚举过程
- 百度知道等级
- Fabric FAQ
- 文字 流体模拟
- 公司上市后员工真能暴富?当心期权的陷阱
- NSMutableDictionary添加数据时遇到的问题
- Android之WebView的使用例子——WebSetting、WebViewClient、WebChromeClient
- 对于Mysql,你选择什么存储引擎?
- ios 在实现文件中关联xib
- SQL Server游标的使用
- 做开发时一定要注意权限问题。嗯
- 使用三层架构实现简单的MVC登陆操作!并实现基本的增删改查功能!!
- Eclipse 安装Freemark IDE 集成开发工具
- 数值分析方阵的QR分解