开发者社区 问答 正文

进入枚举块字典值变为空?

NSDictionary *userInfo = [util nullToDict:protocol.responseData defaultValue:@{}];

// 防止空值
NSDictionary *temp = [NSDictionary dictionaryWithDictionary:userInfo];
[temp enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
[userInfo setValue:[util nullToString:obj defaultValue:[obj description]] forKey:key];
            }];

在temp块枚举开始后, userInfo键值对变为0, 而在进入块枚举之前是有值的(17对键值), 请问这是什么原因呢?在ARC环境下.

展开
收起
a123456678 2016-07-27 15:10:06 1886 分享 版权
1 条回答
写回答
取消 提交回答
  • 我模拟了一下你上面的代码, 没有出现你说的进入枚举前后数据不一样的问题。注意你调用了setValue:forKey:, 那userInfo就得是个NSMutableDictionary, 不知道你的nullToDict:defaultValue返回的是个啥。

    2019-07-17 20:00:38
    赞同 展开评论
问答地址: