相关文章推荐
大鼻子的镜子  ·  Flask ...·  2 年前    · 
力能扛鼎的伤疤  ·  实操 Web Cache - 知乎·  2 年前    · 
- (id)mutableDictionaryCopyIfNeeded:(id)dictObj if ([dictObj isKindOfClass:[NSDictionary class]] && ![dictObj isKindOfClass:[NSMutableDictionary class]]) { dictObj = [dictObj mutableCopy]; return dictObj; 合并两个字典 @param dict 被合并的字典 - (void)mergingWithDictionary:(NSDictionary *)dict for (id key in [dict allKeys]) { id obj = [self mutableDictionaryCopyIfNeeded:[dict objectForKey:key]]; id localObj = [self mutableDictionaryCopyIfNeeded:[self objectForKey:key]]; if ([obj isKindOfClass:[NSDictionary class]] && [localObj isKindOfClass:[NSMutableDictionary class]]) { // Recursive merge for NSDictionary [localObj mergingWithDictionary:obj]; } else if (obj) { [self setObject:obj forKey:key]; 合并两个字典 @param dict 被合并的字典 @param ignoredKey 忽略的Key - (void)mergingWithDictionary:(NSDictionary *)dict ignoredDictKey:(NSString *)ignoredKey for (id key in [dict allKeys]) { if ([key isEqualToString:ignoredKey]) { continue; id obj = [self mutableDictionaryCopyIfNeeded:[dict objectForKey:key]]; id localObj = [self mutableDictionaryCopyIfNeeded:[self objectForKey:key]]; if ([obj isKindOfClass:[NSDictionary class]] && [localObj isKindOfClass:[NSMutableDictionary class]]) { // Recursive merge for NSDictionary [localObj mergingWithDictionary:obj]; } else if (obj) { [self setObject:obj forKey:key];