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