//请求 [[MZHomeRequest shartHomeRequest] proShopCatReturn:^(MZHomeRequest *home, id shopCatData) { DLog(@"shop Cat %@", shopCatData); for (NSMutableDictionary *shopDic in shopCatData) { NSMutableArray *proArray = shopDic[@"itemList"]; for ([color=#FF6600]NSMutableDictionary [/color]*proDic in proArray) { [self.proArray addObject:proDic]; } [self.shopArray addObject:shopDic]; } self.navigationItem.title = [NSString stringWithFormat:@"购物车(%ld)",self.proArray.count]; //数组中的字典返回值是__NSCFDictionary,但是返回的是可变字典啊 DLog(@"/////%@", [self.shopArray[0][@"itemList"][0] class]) [self.tableView reloadData]; }];数据的结构
itemList = (
{
cartId = 7;
itemId = 7;
skuId = 7;
skuNum = 1;
stock = 100000;
tbPrice = 110;
}
)
我想在其他方法修改它的值,但是提示类型是不可变字典......怎么办!!!求大牛给点建议
挖个坟,我也是遇到了此问题,拿到数据后,后面无论深拷贝抑或强转等等,都不行。
后来发现是响应序列器的设置问题,
我用的是AFNetworking2.5的,原来响应序列器设置为AFHTTPResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializer];//此处返回的结果是不可改的;
需要设置为才可以:AFHTTPResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions: NSJSONReadingMutableContainers];//允许返回的结果可改。
不知你用的是哪个网络组件,也许可以设置的。 ######To NSMutableDictionary######
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。