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

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环境下.

阅读 3.4k
1 个回答

我模拟了一下你上面的代码, 没有出现你说的进入枚举前后数据不一样的问题。注意你调用了setValue:forKey:, 那userInfo就得是个NSMutableDictionary, 不知道你的nullToDict:defaultValue返回的是个啥。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题